반응형
import sys
from collections import deque
n,k = map(int,sys.stdin.readline().split())
x = [-1, 1, 2]
def bfs(now,target):
queue = deque([])
visited = [0 for _ in range(300009)]
queue.append([now,0])
while queue:
q,c = queue.popleft()
visited[q] = 1
if q == target:
count = c
return count
for i in range(3):
if i == 2:
a = q * 2
else:
a = q + x[i]
if visited[a] == 0 and 0<=a<=100000:
queue.append([a,c+1])
if n>k:
print(n-k)
else:
print(bfs(n,k))
visited 범위를 잘못 설정해서 엄청해메다가 높게 설정후 통과했다.
반응형
'코딩 이야기 > 백준 풀이' 카테고리의 다른 글
백준 13549번: 숨바꼭질 3 파이썬 코드(bfs) (0) | 2021.05.08 |
---|---|
백준 1912번: 최소비용 구하기 파이썬 코드(다익스트라) (0) | 2021.05.08 |
백준 7576번: 토마토 파이썬 코드(bfs) (0) | 2021.03.17 |
백준 1038번: 감소하는 수 파이썬 코드(백트래킹) (3) | 2021.02.16 |
백준 4963번: 섬의 개수 파이썬 코드(dfs) (0) | 2021.02.14 |