13549 숨바꼭질3 Pyhton

훈나무·2024년 6월 28일
0

코딩테스트

목록 보기
6/12

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

bfs로 풀이

from collections import deque, defaultdict

N,X = map(int,input().split(' '))
q = deque([(N,0)])
dp = defaultdict(lambda:999999999)

while q:
  cur,time = q.popleft()
  if cur>100001 or cur < 0:
    continue
  dp[cur] = min(time,dp[cur])

  if time < dp[cur*2]:
    q.append((cur*2,time))

  if time+1 < dp[cur+1]:
    q.append((cur+1,time+1))

  if time+1 < dp[cur-1]:
    q.append((cur-1,time+1))


print(dp[X])
profile
프론트엔드 개발자 입니다

0개의 댓글

관련 채용 정보