[baekjoon]python #5014 ์คํํธ ๋งํฌ
https://www.acmicpc.net/problem/5014
5014๋ฒ: ์คํํธ๋งํฌ
์ฒซ์งธ ์ค์ F, S, G, U, D๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) ๊ฑด๋ฌผ์ 1์ธต๋ถํฐ ์์ํ๊ณ , ๊ฐ์ฅ ๋์ ์ธต์ F์ธต์ด๋ค.
www.acmicpc.net
import sys
from collections import deque
input = sys.stdin.readline
F,S,G,U,D = map(int,input().split())
# ๊ฑด๋ฌผ๋์ด, ๊ฐํธ, ํ๊ฒ, ์, ์๋
queue = deque()
queue.append((S,0)) # ๊ฐํธ์ ์์น, count
visit = [0]*(F+1) # ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํ visit ๋ฐฐ์ด
flag = 0 # ๋ชฉํ์ธต์ ๊ฐ๋์ง ์ฌ๋ถ๋ฅผ ์ํ flag
while queue:
now,ncnt = queue.popleft()
visit[now] = 1
direct = [U,D*(-1)]
if now == G:
flag = 1 #๋์ฐฉ
print(ncnt)
break
for i in range(2):
move = now+direct[i]
if 1<=move<(F+1) and visit[move]==0:
visit[move] = 1
queue.append((move,ncnt+1))
if flag==0: #๋์ฐฉํ์ง ๋ชปํ๋ค๋ฉด
print('use the stairs')
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #1697 ์จ๋ฐ๊ผญ์ง (0) | 2023.01.25 |
---|---|
[baekjoon]python #2178 ๋ฏธ๋กํ์ (0) | 2023.01.25 |
[baekjoon]python #2667 ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2023.01.25 |
[baekjoon]python #5635 ์์ผ (0) | 2023.01.20 |
[baekjoon]python #1764 ๋ฃ๋ณด์ก (0) | 2023.01.11 |
๋๊ธ