728x90
๋ฌธ์
ํ์ด
์ ํ์ ์ธ ๋๋น์ฐ์ ํ์ ๋ฌธ์ , heap์ ์ด์ฉํด ํ์ด๋ณด์๋ค.
์ฝ๋
from sys import stdin
import heapq
input = stdin.readline
f, s, g, u, d = map(int, input().split())
visited = [False] * (f + 1)
q = [(0, s)]
visited[s] = True
ans = "use the stairs"
while q:
cnt, now = heapq.heappop(q)
if now == g:
ans = cnt
break
if now - d > 0:
if not visited[now - d]:
visited[now - d] = True
heapq.heappush(q, (cnt + 1, now - d))
if now + u <= f:
if not visited[now + u]:
visited[now + u] = True
heapq.heappush(q, (cnt + 1, now + u))
print(ans)
๋ง๋ฌด๋ฆฌ
๋น์ทํ ์ ํ์ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ด์ ์ฌ์ ๋ค.
728x90