-
알고리즘: 백준 13549번 숨바꼭질 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 12. 18:45
import sys from collections import deque read = sys.stdin.readline N, K = map(int, read().split()) MAX = 100000 visit = [False for _ in range(MAX + 1)] def bfs(): queue = deque() queue.append(N) count = deque() count.append(0) min = MAX while queue: node = queue.popleft() cnt = count.popleft() if node == K: if min > cnt: min = cnt if cnt >= min: continue if not visit[node]: visit[node] = True if 0 <= node*2 <= MAX: queue.appendleft(node*2) count.appendleft(cnt) if 0 <= node+1 <= MAX: queue.append(node+1) count.append(cnt + 1) if 0 <= node-1 <= MAX: queue.append(node-1) count.append(cnt + 1) return min print(bfs())
반응형'알고리즘 > 백준(BaekJoon)' 카테고리의 다른 글
알고리즘: 백준 2665번 미로만들기 (feat.python) (0) 2021.01.13 알고리즘: 백준 4485번 녹색 옷 입은 애가 젤다지? (feat. python) (0) 2021.01.12 알고리즘: 백준 1504번 특정한 최단 경로 (feat. python) (0) 2021.01.12 알고리즘: 백준 1238번 파티 (feat. python) (0) 2021.01.11 알고리즘: 백준 1261번 알고스팟 (feat.python) (0) 2021.01.11