문제
https://www.acmicpc.net/problem/5014
코드
import sys
from collections import deque
def Bfs():
q = deque()
q.append(S)
visited[S] = 1
while q:
x = q.popleft()
# 위로 가는 경우
if (x+U<= F):
if visited[x + U] == 0: #방문하지 않았으면 방문
visited[x + U] = visited[x] + 1
q.append(x + U)
# 아래로 가는 경우
if (x-D >0):
if visited[x-D] == 0: #방문하지 않았으면 방문
visited[x-D] = visited[x] + 1
q.append(x - D)
# 도달하지 못한 경우
if visited[G] == 0:
return "use the stairs"
else:
return visited[G]-1
F, S, G, U, D = map(int, input().split())
visited = [0]*(F+1)
print(Bfs())
'Algorithm' 카테고리의 다른 글
[백준 1431] 시리얼 번호 (0) | 2024.09.17 |
---|---|
[백준 1092] 배 (0) | 2024.09.17 |
[백준 13023] ABCDE (0) | 2024.09.01 |
[백준 1504] 특정한 최단 경로 (0) | 2024.09.01 |
[백준 6593] 상범 빌딩 (0) | 2024.08.31 |