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

2

def BFS(g,s):
    visited[s]=True
    queue=[s]
    while queue:
        v=queue.pop(0)
        for nxt in sorted(g[v]):
            if not visited[nxt]:
                queue.append(nxt)
                visited[nxt]=True
                a.append(nxt+1)
n,m,s=map(int,input().split())
arr=[]
for i in range(n):
    row=list(map(int,input().split()))
    arr.append(row)
g=list([] for _ in range(n))
for j in range(m):
    t=[]
    for i in range(n):
        if arr[i][j]==1:
            t.append(i)
    g[t[0]].append(t[1])
    g[t[1]].append(t[0])
a=[s]
visited=[False]*n
BFS(g,s-1)
if False in visited:
    print("НЕТ")
else:
    print(*a)
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать