관리 메뉴

어읽로꾸거

BOJ 13549 숨바꼭질3 본문

알고리즘

BOJ 13549 숨바꼭질3

어읽로꾸거 2019. 4. 22. 19:29

백준 13549 링크

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

풀이

bfs를 쓰면 됩니다. queue보다 deque가 속도가 더 빠른거같네요. 꽤 차이가 납니다.

코드

from collections import deque
input = __import__('sys').stdin.readline
n,m = map(int, input().split())
chaser = [float("inf") for _ in range(100001)]
q = deque([(n,0)])
while q:
    now,moved=q.popleft()
    if chaser[now]>moved:
        chaser[now]=moved
    for i in [now+1,now-1]:
        if 0<=i<=100000 and chaser[i]>moved+1:
            q.append((i,moved+1))
            chaser[i]=moved+1
    if 0<=now*2<=100000 and chaser[now*2]>moved:
            q.append((now*2,moved))
            chaser[now*2]=moved
print(chaser[m])

'알고리즘' 카테고리의 다른 글

BOJ 17141 연구소 2  (0) 2019.09.13
BOJ 6186 Best Grass  (0) 2019.04.23
BOJ 6118 숨바꼭질  (0) 2019.04.19
BOJ 6087 레이저 통신  (0) 2019.04.18
BOJ 1926 그림  (0) 2019.04.17