https://www.acmicpc.net/problem/1697
from collections import deque
MAX = 100000
n, k = map(int, input().split())
queue = deque()
queue.append(n)
visited = [0] * (MAX + 1)
while queue:
q = queue.popleft()
mv = [q + 1, q - 1, 2 * q]
if q == k:
print(visited[q])
break
for i in mv:
if 0 <= i <= MAX and visited[i] == 0:
visited[i] = visited[q] + 1
queue.append(i)
처음 봤을 땐 머리가 잘 안 돌아갔다
그냥 봤으면 bfs 문제인지도 몰랐을 것 같다···
'알고리즘 > 백준' 카테고리의 다른 글
백준 7564: 나이트의 이동 (Python) (0) | 2022.02.03 |
---|---|
백준 2606: 벽 부수고 이동하기 (Python) (0) | 2022.02.03 |
백준 7569: 토마토 (Python) (0) | 2022.02.02 |
백준 7576: 토마토 (Python) (0) | 2022.02.02 |
백준 2178: 미로 탐색 (Python) (0) | 2022.02.01 |