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

풀이
문제를 보았을때 알수있는 힌트
이전에 풀었던 숨바꼭질 1,2 문제들 과 유사하게 풀면 되는데 그중에 2*x의 경우에는 시간을 증가하지 않게 하면 쉽게 풀리는 문제이다.
from collections import deque
def bfs(v):
count = 0
q = deque([[v, count]])
while q:
v = q.popleft()
e = v[0]
count = v[1]
if not visited[e]:
visited[e] = True
if e == K:
return count
if (e * 2) <= 100000:
q.append([e * 2, count])
if (e - 1) >= 0:
q.append([e - 1, count+1])
if (e + 1) <= 100000:
q.append([e + 1, count+1])
return count
N, K = map(int, input().split())
visited = [False] * 100001
print(bfs(N))

https://github.com/dydwkd486/coding_test/blob/main/baekjoon/baekjoon13549.py
GitHub - dydwkd486/coding_test: 코딩테스트 공부한 내용 정리
코딩테스트 공부한 내용 정리. Contribute to dydwkd486/coding_test development by creating an account on GitHub.
github.com
'Coding Test > baekjoon' 카테고리의 다른 글
[백준 15650] N과 M (2) - python (solved.ac - 실버 3) (0) | 2022.06.08 |
---|---|
[백준 11660] 구간 합 구하기 - python (solved.ac - 실버 1) (0) | 2022.06.07 |
[백준 1918] 후위 표기식- python (solved.ac - 골드 2) (0) | 2022.06.06 |
[백준 1967] 트리의 지름 - python (solved.ac - 골드 5) (0) | 2022.06.06 |
[백준 2580] 스도쿠- python (solved.ac - 골드 4) (0) | 2022.06.04 |