생각보다 푸는데 시간이 좀 걸렸다. 이 문제를 품에 있어 bfs를 적용하기까지 생각하는 시간이 좀 오래 걸린 셈이다.
그냥 단순히 모든 층의 경우에 버튼을 누르는 최솟값을 구하는 과정을 반복하다보면 답이 나오지 않겠나라고 생각하니 풀린 문제.
from collections import deque
f,s,g,u,d = map(int,input().split())
count = [-1] * (f+1)
q = deque()
q.append(s)
count[s] = 0
while q:
point = q.popleft()
if point == g:
print(count[point])
exit()
move_point1 = point + u
move_point2 = point - d
if 0< move_point1 <=f and count[move_point1] == 0:
q.append(move_point1)
count[move_point1] = count[point] + 1
if 0 < move_point2 <= f and count[move_point2] == 0:
q.append(move_point2)
count[move_point2] = count[point] + 1
print("use the stairs")