-
[백준] 1697번_숨바꼭질Study/알고리즘 2020. 2. 26. 15:59
문제 링크 : https://www.acmicpc.net/problem/1697
1697번: 숨바꼭질
문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지
www.acmicpc.net
from collections import deque s, sis = map(int,input().split()) def bfs(x): q = deque() check = [0]*200001 q.append(x) while q: x = q.popleft() if x == sis: return check[x] for nx in (x+1,x-1,x*2): if 0<=nx<200001 and check[nx]==0: check[nx] = check[x]+1 q.append(nx) print(bfs(s))
'Study > 알고리즘' 카테고리의 다른 글
[백준] 14226번_이모티콘 (0) 2020.02.26 [백준] 1043번_거짓말 (0) 2020.02.26 [백준] 7576번_토마토 (0) 2020.02.26 [백준] 2178번_미로탐색 (0) 2020.02.26 [백준] 4963번_섬의개수 (0) 2020.02.21