diff --git a/code_study/Baekjoon/python/12851.py b/code_study/Baekjoon/python/12851.py new file mode 100644 index 0000000..7478e7a --- /dev/null +++ b/code_study/Baekjoon/python/12851.py @@ -0,0 +1,28 @@ +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') \ No newline at end of file