백준 1697 - 숨바꼭질 (파이썬)

Updated:

Answer

from sys import stdin
from collections import deque

input = stdin.readline

def bfs():
    global count, queue,  K

    while queue:
        x = queue.popleft()

        if x == K:
            print(visited_list[x])
            break

        for dx in (x + 1, x - 1, x * 2):
            if 0 <= dx <= max_limit and visited_list[dx] == 0:
                visited_list[dx] = visited_list[x] + 1
                queue.append(dx)

N, K = map(int, input().split())
max_limit = 100000
visited_list = [0] * 100001
queue = deque([N])

bfs()

Categories:

Updated: