https://www.acmicpc.net/problem/16953
from collections import deque
a, b = map(int, input().split())
r = 1
def bfs(a, b):
q = deque()
q.append((a, 1))
while q:
a, count = q.popleft()
if a == b:
print(count)
return
if a * 2 <= b:
q.append((a * 2, count + 1))
if a * 10 + 1 <= b:
q.append((a * 10 + 1, count + 1))
print(-1)
bfs(a, b)
bfs를 이용해 풀었다.
'알고리즘' 카테고리의 다른 글
파이썬) 암호 만들기 - BOJ (0) | 2023.11.06 |
---|---|
파이썬) 퇴사 -BOJ (0) | 2023.08.18 |
파이썬)고양이 카페- BOJ (0) | 2023.08.13 |
파이썬)요세푸스 문제0 -BOJ (0) | 2023.08.13 |
파이썬)아기상어 -BOJ (0) | 2023.08.09 |