34 lines
711 B
Python
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))
|