프로그래머스 형식으로 풀기로 했다.
너무 dfs만 풀었나
import sys
input=sys.stdin.readline
sys.setrecursionlimit(10**6)
def solution(A, B):
mincnt = 999999999
def dfs(A, cnt):
nonlocal mincnt
if A > B:
return
if A == B:
mincnt = min(mincnt, cnt)
return
dfs(A * 2, cnt + 1)
dfs(A * 10 + 1, cnt + 1)
dfs(A, 0)
if mincnt == 999999999:
return -1
return mincnt + 1
A, B = map(int, input().split())
print(solution(A, B))