문제 링크: https://www.acmicpc.net/problem/13913
백준 알고리즘 기초 2/2 610에서 2번째 - 13913번 숨바꼭질 4를 풀어보았다.
C++
Python
from collections import deque
def path(a):
arr=[]
tmp=a
for i in range(visited[a]+1):
arr.append(tmp)
tmp=course[tmp]
return arr[::-1]
def bfs(a):
q=deque([a])
while q:
b=q.popleft()
if b==k:
return visited[b]
for i in (b-1,b+1,2*b):
if 0<=i<=100000 and not visited[i]:
visited[i]=visited[b]+1
q.append(i)
course[i]=b
n,k=map(int,input().split())
visited=[0 for i in range(100001)]
course=[0 for i in range(100001)]
print(bfs(n))
print(*path(k))
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
숨바꼭질 3 풀이 (0) | 2023.02.09 |
---|---|
이모티콘 풀이 (0) | 2023.02.09 |
숨바꼭질 풀이 (0) | 2023.02.08 |
다리 만들기 풀이 (0) | 2023.02.08 |
DFS 스페셜 저지 풀이 (0) | 2023.02.08 |