https://www.acmicpc.net/problem/11060
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split(" ")))
visited = [-1 for _ in range(n)]
queue = deque()
# 0인덱스에 1뎁스
queue.append([0, 0])
visited[0] = 0
while queue:
i, dep = queue.popleft()
dist = arr[i]
for j in range(1, dist+1):
if i+j < n:
if visited[i+j] == -1:
visited[i+j] = dep+1
queue.append([i + j, dep + 1])
if visited[-1] != -1:
break
if visited[n-1] == -1:
print(-1)
else:
print(visited[n-1])
728x90
반응형
'🔻PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 2961 도영이가 만든 맛있는 음식 Python (1) | 2024.10.04 |
---|---|
[Baekjoon] 백준 21921 블로그 Python (0) | 2024.10.04 |
[Baekjoon] 백준 1937 욕심쟁이 판다 Python (0) | 2024.10.01 |
[Baekjoon] 백준 11048 이동하기 Python (0) | 2024.10.01 |
[Baekjoon] 백준 20056 마법사 상어와 파이어볼 Python (0) | 2024.09.29 |