Files

34 lines
711 B
Python

from queue import Queue
def solve(N, K):
D = Queue()
M = [0] * 100001
D.put((N, 0))
while D:
now, t = D.get()
if now > 100000 or now < 0:
continue
if M[now] == 0:
M[now] = t
elif t > M[now]:
continue
target = []
if now > K:
target.append((now - 1, t + 1))
elif now == K:
return t
elif now < K:
target.append((2 * now, t + 1))
target.append((now + 1, t + 1))
target.append((now - 1, t + 1))
for temp in target:
D.put(temp)
if __name__ == '__main__':
N, K = map(int, input().split())
print(solve(N, K))