분류
BFS
혼자 힘으로 해결 했는가?
O
느낀 점
문제 상황에서 시작점과 도착점이 동일하게 주어진 경우를 놓쳐서 여러번 틀린 문제이다.
문제 자체는 그렇게 어렵지 않은 BFS문제이다.
내가 작성한 코드
from collections import deque
F, S, G, U, D = map(int, input().split())
graph = [0 for _ in range(F + 1)]
search = deque()
dx = [U, -D]
moves = -1
search.append((S,1))
graph[S] = 1
while search:
C, T = search.popleft()
if C == G:
moves = T - 1
break
for i in range(2):
nC = C + dx[i]
if 0 < nC < len(graph):
if graph[nC] == 0:
graph[nC] = T + 1
search.append((nC, T + 1))
# print(graph)
if moves == -1:
print('use the stairs')
else:
print(moves)
비슷한 문제들
https://www.acmicpc.net/problem/2667
https://www.acmicpc.net/problem/2583
https://www.acmicpc.net/problem/2468
'알고리즘 공부' 카테고리의 다른 글
[알고리즘] 백준 2146 Python (0) | 2024.01.31 |
---|---|
[알고리즘] 백준 2206번 Python (1) | 2024.01.29 |
[알고리즘] 백준 5427번 Python (0) | 2024.01.28 |
[카카오 2019 문제] 후보키 (1) | 2024.01.27 |
[알고리즘] 백준 1662 Python (1) | 2024.01.26 |