Статья Автор: Ратькин Иван

Сможет ли обойти все вершины

def bfs(start):
  
  visited[start] = True
  queue = [start]
  path = [start+1]
  while queue:
    v = queue.pop(0)
    
    for i in sorted(a[v]):
      if not visited[i]:
        queue.append(i)
        path.append(i+1)
        visited[i] = True
  return path



n, m, s =map(int,input().split())
a = [[] for _ in range(n)]
visited = [False] * n
for i in range(m):
  q, w = map(int, input().split())
  a[q-1].append(w-1)
  a[w-1].append(q-1)
p = bfs(s-1)


if False not in visited: print(*p)
else: print('НЕТ')
 
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать