-
[백준] 13913 - 숨바꼭질 4 (파이썬)알고리즘/백준 2021. 9. 24. 17:52
from collections import deque n , k = map(int,input().split()) if n==0 and k==0: print(0) print(0) else: q = deque() visited = [False for _ in range(100050)] visit = [[] for _ in range(100050)] dx = [-1,1] q.append(n) visited[n] = True while q: x = q.popleft() if x==k: break if 0<=x-1<100050: if visited[x-1] == False: visited[x-1] = True visit[x-1].append(x) q.append(x-1) if 0<=x+1<100050: if visited[x+1] == False: visited[x+1] = True visit[x+1].append(x) q.append(x+1) if 0<=2*x<100050: if visited[2*x] == False: visited[2*x] = True visit[2*x].append(x) q.append(x+1) tt = [] while k!=n: tt.append(k) k = visit[k][0] tt.append(n) print(len(tt)-1) print(*tt[::-1])
윽 너무 길어..
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 14501 - 퇴사 (파이썬) (0) 2021.09.24 [백준] 14003 - 가장 긴 증가하는 부분 수열 5 (파이썬) (0) 2021.09.24 [백준] 12970 - AB (파이썬) (0) 2021.09.24 [백준] 12904 - A와 B (파이썬) (0) 2021.09.23 [백준] 12869 - 뮤탈리스크 (파이썬) (0) 2021.09.23