📜 접근 방법
인접 리스트로 그래프를 표현한다. BFS 방식을 사용한다.
❌ 실패 코드
✅ 정답 코드
from collections import deque
import sys
input = sys.stdin.readline
n, m, k = map(int, input().split())
graph = [[] for _ in range(n + 1)]
for _ in range(m):
u, v = map(int, input().split())
graph[u].append(v)
graph[v].append(u)
distance = [ 9**9 for _ in range(n + 1)]
distance[1] = 0
que = deque()
que.append(1)
while que:
cur = que.popleft()
for next in graph[cur]:
if distance[next] <= distance[cur] + 1:
continue
distance[next] = distance[cur] + 1
que.append(next)
if distance[n] <= k:
print("YES")
else:
print("NO")
💡알게 된점
'코딩테스트 > Python' 카테고리의 다른 글
[python 구름] 보드 게임 (0) | 2023.05.22 |
---|---|
[python 구름] 피보나치 수 (0) | 2023.05.21 |
[python 구름] 구름 스퀘어 (0) | 2023.05.20 |
[python 구름] 직사각형 만들기 (0) | 2023.05.19 |
[python 구름] 거스름돈 (0) | 2023.05.17 |