-
[백준 / Python] 1697번 숨바꼭질 | 초코더알고리즘/백준 2020. 2. 6. 13:37
https://www.acmicpc.net/problem/1697
접근법
기존의 bfs방식에서 이동할 수 있는 방법인 (x+1,x-1,x*2)에서 고려해주는것이 포인트입니다.
그리고 옮긴 좌표에 해당하는 visited에 시간을 1초씩 더해줍니다.
나의 코드
import sys from collections import deque def solve(visited, n, k): queue = deque() queue.append(n) while queue: x = queue.popleft() if x == k: return visited[x] for nx in (x+1, x-1, 2*x): if 0 <= nx < 100001 and visited[nx] == 0: visited[nx] = visited[x] + 1 queue.append(nx) n,k = map(int, sys.stdin.readline().split()) visited = [0] * 100001 print(solve(visited,n,k))
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / Python] 3019번 테트리스 | 초코더 (0) 2020.02.12 [백준 / Python] 13913번 숨바꼭질 4 | 초코더 (0) 2020.02.06 [백준 / Python] 10973번 이전 순열 | 초코더 (0) 2020.02.06 [백준 / Python] 10972번 다음순열 | 초코더 (0) 2020.02.06 [백준 / Python] 1918번 후위 표기식 | 초코더 (0) 2020.01.30