https://www.acmicpc.net/problem/16953
#16953_A->B
from collections import deque
A, B= map(int, input().split())
def dfs(x,y):
q=deque([(x,y)])
while q:
num, cnt = q.popleft()
if num == B:
return cnt
if num * 2 <= B:
q.append((num*2, cnt+1))
if int(str(num)+'1') <= B:
q.append((int(str(num)+'1'), cnt+1))
return -1
print(dfs(A,1))
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/알고리즘] #10709: 기상캐스터 [파이썬(python)/구현] (0) | 2021.10.20 |
---|---|
[백준/알고리즘] #1330: 두 수 비교하기[파이썬(python)/수학] (0) | 2021.10.20 |
[백준/알고리즘] #1316: 그룹단어체커 [파이썬(python)/문자열] (0) | 2021.10.18 |
[백준/알고리즘] #17609: 회문 [파이썬(python)/문자열] (0) | 2021.10.18 |
[백준/알고리즘] #2178: 미로탐색 [파이썬(python)/그래프/BFS] (0) | 2021.10.18 |