728x90
반응형
https://www.acmicpc.net/problem/5014
숨바꼭질과 비슷한 패턴의 BFS문제. 사실 난 DFS를 좋아하는데 거의 안쓰는 것 같다.
쨋든 숨바꼭질과 거의 유사하게 작성했는데 계속 83퍼쯤에서 에러가 계속 터졌었다.
왜 그런지하고 계속 생각하다가 틀린 이유를 모르겠어서 질문게시판을 뒤지다가 정답을 알았는데 이 테스트코드 넣은사람은 정말 꼼꼼한거같았다. 엘리베이터 층을 0층부터 생각하고 짜서 에러가 발생한 것이었다.. ㅋ
from collections import deque
F, S, G, U, D = map(int, input().split())
dis = [0] * 1000001
ch = [0] * 1000001
dq = deque()
dq.append(S)
ch[S] = 1 #쳌
while dq:
now = dq.popleft()
if now == G:
break
for next in(now+U, now-D): #상태트리
if 1<=next<=F:
if ch[next] == 0:
ch[next] = 1
dq.append(next)
dis[next] = dis[now] + 1
if now == G:
print(dis[now])
else:
print("use the stairs")
완성
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준] 1149번: RGB거리 - python (0) | 2024.03.28 |
---|---|
[백준] 2468번: 안전 영역 - python (0) | 2024.03.28 |
[백준] 1541번: 잃어버린 괄호 - python (1) | 2024.03.27 |
[백준] 1931번: 회의실 배정 - python (1) | 2024.03.27 |
[백준] 9657번: 돌 게임 3 - python (0) | 2024.03.27 |