[ 2023-07-31 ๐Ÿฐ TIL ]

Burkeyยท2023๋…„ 7์›” 31์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
132/157

๋ฐฑ์ค€ 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 ๊ณต๋ถ€ ์‹œ์ž‘ํ•  ์˜ˆ์ •์ด๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 7์›” 31์ผ

์ข‹์€ ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ