from collections import deque
N, K = map(int, input().split())
visit = [False]*100001
cur = N
time = 0
q = deque([[cur,time]])
while q:
v = q.popleft()
cur, time = v[0], v[1]
if visit[cur] == False:
if cur == K:
print(time)
break
visit[cur] = True
if cur + 1 <= 100000:
q.append([cur+1, time+1])
if cur - 1 >= 0:
q.append([cur-1, time+1])
if cur*2 <= 100000:
q.append([cur*2, time+1])
'Programming > BOJ' 카테고리의 다른 글
[백준/Python] 1715번: 카드 정렬하기(최소힙) (0) | 2021.01.13 |
---|---|
[백준/C++] 11724번: 연결 요소의 개수 (DFS) (0) | 2020.12.03 |
[백준/C++] 1654번: 랜선자르기 (이분탐색) (0) | 2020.12.02 |
[백준/C++] 2805번: 나무 자르기 (이분탐색) (0) | 2020.12.02 |
[백준/C++] 2661번: 좋은수열 (DFS, 백트랙킹) (0) | 2020.11.26 |