BFS 2

[백준][Python] 16940 BFS스페셜저지

온전하게 BFS를 순서까지 맞춰서 검사하는 방법에는 무엇이 있을까? 실제 BFS를 돌려 그 순서를 기록하는 방법? 노드 순회 순서에따라서 천차만별일 것이다. 그럼 레벨을 정해 레벨단위로 추적하는 방법? 레벨3이 레벨2인 어떤 노드에서 큐에 삽입됐는지까지 추적하지 않는다면 완벽한 검사는 불가능하다. 하지만 아래 코드는 완벽하게 검사해야하는 리스트를 실제 BFS의 작동방식처럼 num이 기존의 queue에 삽입된 노드로부터 왔는지를 순서대로 검사한다. 만약 순서가 잘못되어잇다면 레벨상 맞더라도 완벽하게 검열당한다. BFS는 단순히 레벨 0에서 갈수있는 레벨 1들을 정하고 레벨2들을 정해 검사하는 방식이 아니라 큐를 이용하는 FIFO의 검사방식이라는걸 늘 명심해야 할 것이다. 내일은 DFS스페셜 저지를 풀예정인..

[백준][Python] 1240 노드사이의 거리

출발지, 도착지에 따라. BFS로 거리구하면 끝. import sys input = sys.stdin.readline from collections import defaultdict,deque def Distance(a,b): queue = deque() queue.append(a) visited = [False]*(N+1) visited[a] = True target_dist = [0]*(N+1) while queue: v = queue.popleft() if v==b: print(target_dist[v]) return for next,dist in graph[v]: if not visited[next]: queue.append(next) visited[next] = True target_dist[n..