https://www.acmicpc.net/problem/16953

 

16953번: A → B

첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.

www.acmicpc.net

풀이

bfs를 이용하여서 문제를 풀어주었습니다.

코드

 

# 16953번 A → B
from collections import deque

a, b = map(int, input().split())

def bfs():
    queue = deque([])
    queue.append([0, a])
    while queue:
        cnt, c_a = queue.popleft()
        if c_a < b:
            queue.append([cnt+1, c_a*2])
            queue.append([cnt+1, int(str(c_a)+"1")])
        if c_a == b:
            return cnt+1

    return -1

print(bfs())

 

출력결과

개발자 성현