๋ฐฑ์ค 2644๋ฒ ํ์ด์ฌ
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
p1, p2 = map(int, input().split()) # ์ฐพ๋ ์ฌ๋๋ค์ ์์น
m = int(input())
p_li = [[] for _ in range(n+1)]
visited = [[0] for _ in range(n+1)]
for _ in range(m):
i, j = map(int, input().split())
p_li[i].append(j)
p_li[j].append(i)
q = deque([p1]) # ์ฐพ๋ ๊ณณ ๋ถํฐ ์์ํด์ ํ์์ ํ๋ค.
visited[p1][0] = 0
while q:
x = q.popleft() # ๋ถ๋ชจ์ ๋
ธ๋
for p in p_li[x]:
if not visited[p][0]:
# ์์ ๋
ธ๋๋ค ์ค์ ๋ฐฉ๋ฌธํ ๊ณณ ์์ผ๋ฉด ํ์๋ฆฌ์คํธ q์ ๋ฃ์
visited[p][0] = visited[x][0] + 1
# ๋ถ๋ชจ์ ๋
ธ๋ ๊ธฐ์ค์ผ๋ก ์ด์ ๊ณ์ฐ๊ฐ๋ฅ
q.append(p)
if visited[p2][0] == 0:
print(-1)
else:
print(visited[p2][0])
๋ฒ์จ 7์์ ๋ง์ง๋ง๋ ์ด๋ค. ๋ค์๋ฌ์๋ SQLD ๊ณต๋ถ ์์ํ ์์ ์ด๋ค.
์ข์ ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค