1. 문제
2. 접근 방법
deque로 해서 x*2를 먼저 해결했다.
3. 코드
python
from collections import deque
def bfs(n):
q = deque()
q.append(n)
visited[n] = 0
while q:
x = q.popleft()
if x == K:
print(visited[K])
return
for nx in (x*2, x+1, x-1):
if 0 <= nx <= MAX:
if visited[nx] == -1 or visited[nx] > visited[x] + 1:
q.append(nx)
visited[nx] = visited[x] + 1
MAX = 100000
N, K = map(int, input().split())
visited = [-1] * (MAX+1)
bfs(N)
4. 마치며
마치며~!
'Algorithm > Python' 카테고리의 다른 글
[백준 10973] 이전 순열 (0) | 2021.05.09 |
---|---|
[백준 13913] 숨바꼭질 4 (0) | 2021.05.06 |
[백준 10972] 다음 순열 (0) | 2021.05.06 |
[백준 1476] 날짜 계산 (0) | 2021.05.05 |
[백준 15661] 링크와 스타트 (0) | 2021.05.05 |