Статья Автор: Сергеев Антон

tu git

N, M, S = map(int, input().split())
table = [list(map(int, input().split())) for i in range(N)]
V = [set() for i in range(N + 1)]
for j in range(M):
    islands = []
    for i in range(N):
        if table[i][j] == 1:
            islands.append(i + 1)
    for a in islands:
        for b in islands:
            if a != b:
                V[a].add(b)
                V[b].add(a)
def bfs(start):
    global visit
    visit = [0] * (N + 1)
    que = [start]
    order = []
    visit[start] = 1   
    while que:
        x = que.pop(0)
        order.append(x)
        for i in sorted(V[x]):  
            if visit[i] != 1:
                visit[i] = 1
                que.append(i)
    return order
order = bfs(S)
if len(order) == N:
    print(*order)
else:
    print("НЕТ")
( BFS mine)
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать