728x90
반응형
https://www.acmicpc.net/problem/16953
16953번: A → B
첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.
www.acmicpc.net
문제 해결
- 전형적인 가장 쉬운 완전탐색 문제라 생각했다.
- bfs가 dfs보다 편할 것이라 생각했다.
- heapq, deque 어떤 것을 써도 상관 없다.(근데 deque가 속도가 더 빨랐다.)
CODE
from collections import deque
import sys
INF = sys.maxsize
a, b = map(int, input().split())
ans = INF
def bfs():
global ans
que = deque()
que.append((a,0))
while que:
x, cnt = que.popleft()
if x == b:
ans = min(ans,cnt)
elif x < b:
que.append((10*x+1, cnt+1))
que.append((2*x,cnt+1))
bfs()
if ans == INF:
print(-1)
else:
print(ans+1)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 1915 가장 큰 정사각형 (0) | 2023.03.12 |
---|---|
[python] 백준 2437 저울 (0) | 2023.03.11 |
[python] 백준 1937 욕심쟁이 판다 (0) | 2023.03.10 |
[python] 백준 17070 파이프 옮기기 1 (0) | 2023.03.09 |
[python] 백준 14503 로봇 청소기 (1) | 2023.03.07 |
댓글