28 lines
774 B
Python
28 lines
774 B
Python
N, K = map(int, input().split())
|
|
|
|
if N == K :
|
|
print("0\n1\n")
|
|
|
|
else :
|
|
from collections import deque
|
|
|
|
qu = deque()
|
|
visited = [[-1,0] for _ in range(100001)] # [min sec, visit count]
|
|
qu.append(N)
|
|
visited[N][0] = 0
|
|
visited[N][1] = 1
|
|
|
|
while qu :
|
|
cur = qu.popleft()
|
|
|
|
for next in [cur+1, cur-1, 2*cur] :
|
|
if 0<=next<=100000 :
|
|
if visited[next][0] == -1 :
|
|
visited[next][0] = visited[cur][0] + 1
|
|
visited[next][1] = visited[cur][1]
|
|
qu.append(next)
|
|
|
|
elif visited[cur][0] + 1 == visited[next][0] :
|
|
visited[next][1] += visited[cur][1]
|
|
|
|
print(f'{visited[K][0]}\n{visited[K][1]}\n') |