[백준/파이썬] 5014번

민정·2024년 1월 3일
0

[백준/파이썬]

목록 보기
214/245
post-thumbnail

📍백준 5014 문제

https://www.acmicpc.net/problem/5014

코드

import sys
from collections import deque
input = sys.stdin.readline

# f: 총 층수, s: 현재 위치, g: 목적지, u: 위로 u층 감, d: 아래로 d층 감
f, s, g, u, d = map(int, input().split())
visited = [False] * (f+1)
cnt = [0] * (f+1)
que = deque()
que.append(s)
visited[s] = True
flag = False
while que:
    v = que.popleft()
    if v == g:
        flag = True
        break
    for i in (v+u, v-d):
        if 0 < i <= f and not visited[i]:
            visited[i] = True
            cnt[i] = cnt[v] + 1
            que.append(i)

if flag:
    print(cnt[g])
else:
    print("use the stairs")

풀이

BFS 탐색을 이용해 문제를 풀었다.
이동이 불가능한 경우를 알고자 flag를 이용해서 판별했다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글