728x90
간단한 Graph bfs 문제.
트리 구성이 아직 미숙하다.
N = int(input())
a, b = map(int, input().split())
M = int(input())
tree = [[] for x in range(N+1)]
for i in range(M):
p, c = map(int, input().split())
tree[c].append(p)
tree[p].append(c)
res = -1
from collections import deque
def bfs(start):
global res
q = deque([(start, 0)])
visited = [0]*(N+1)
while q:
cur, val = q.popleft()
if cur == b:
res = val
return
for i in tree[cur]:
if not visited[i]:
q.append((i, val+1))
visited[i] = 1
bfs(a)
print(res)
'PS > Python' 카테고리의 다른 글
[Programmers] 숫자 문자열과 영단어 (0) | 2021.09.18 |
---|---|
[Programmers] 모의고사 (0) | 2021.09.18 |
[BOJ_Python] 7569. 토마토 (0) | 2021.04.17 |
[BOJ_Python] 1991. 트리 순회 (0) | 2021.04.08 |
[BOJ_Python] 14499. 주사위 굴리기 (0) | 2021.04.05 |
최근댓글