๋ฐฑ์ค 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 ๊ณต๋ถ ์์ํ ์์ ์ด๋ค.
์ข์ ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค