Algorithm

[백준 5014] 스타트링크

moguogu 2024. 9. 2. 21:09

문제 

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' 카테고리의 다른 글

[백준 13023] ABCDE  (0) 2024.09.01
[백준 1504] 특정한 최단 경로  (0) 2024.09.01
[백준 6593] 상범 빌딩  (0) 2024.08.31
[백준 1068] 트리  (0) 2024.08.21
[백준 10026] 적록색약  (2) 2024.07.24