2025-10-05 21:54:06 +09:00

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')