얼렁뚱땅 백준 문제풀이

[백준 문제풀이] 얼렁뚱땅 13549 숨바꼭질3 풀이

MOSTAR 2022. 10. 3. 15:38

https://www.acmicpc.net/problem/13549

 

13549번: 숨바꼭질 3

수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일

www.acmicpc.net

 

from collections import deque

n, k = map(int,input().split())
visited = [99999999] * 100002

visited[n] = 0
q = deque()

q.append(n)

while q :
    what = q.popleft()

    if 0<=2*what<=100001 :
        if visited[2*what] == 99999999 :
            visited[2*what] = visited[what]
            q.append(2*what)
    if 0<=what-1<=100001 :
        if visited[what-1] == 99999999 :
            visited[what-1] = visited[what] + 1
            q.append(what-1)
    if 0<=what+1<=100001 :
        if visited[what+1] == 99999999 :
            visited[what+1] = visited[what] + 1
            q.append(what+1)

print(visited[k])