프로그래밍/알고리즘
[Python] 백준 24444번 - 알고리즘 수업 - 너비 우선 탐색 1
고등어찌짐
2022. 7. 7. 22:06
from collections import deque
def bfs(graph, strt, visited):
q = deque([strt])
visited[strt] = 1
order = 2
while q:
node = q.popleft()
for next in graph[node]:
if visited[next] == 0 :
q.append(next)
visited[next] = order
order += 1
if __name__ == '__main__':
n, m, r = map(int, input().split())
graph = [[] for _ in range(n+1)]
visited = [ 0 for _ in range(n+1)]
for i in range(m):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
for i in range(n+1):
graph[i].sort()
bfs(graph, r, visited)
for i in visited[1:]:
print(i)