728x90
반응형
기본적인 BFS 문제이다.
B가 200점 이상이 되는 최단경로는 없을 것 같아서 check 리스트 크기를 200으로 정했다.
from collections import deque
def bfs(S, T):
q = deque()
q.append((S, T, 0))
check = [-1]*(200)
while q:
node, t, c = q.popleft()
if node <= t and check[node] == -1:
q.append((node*2, t+3, c+1))
q.append((node+1, t, c+1))
if node == t:
return c
C = int(input())
for _ in range(C):
S, T = map(int, input().split())
print(bfs(S, T))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 3182번 한동이는 공부가 하기 싫어!(python) (0) | 2021.08.10 |
---|---|
백준 알고리즘 14888번 연산자 끼워넣기(python) (0) | 2021.08.08 |
백준 알고리즘 1326번 폴짝폴짝(python) (0) | 2021.06.15 |
백준 알고리즘 21867번 Java Bitecode(python) (0) | 2021.06.06 |
백준 알고리즘 21866번 추첨을 통해 커피를 받자(python) (0) | 2021.06.06 |