728x90
반응형
기본적인 BFS 문제이다.
from collections import deque
def bfs(node):
q = deque()
q.append(node)
graph[node] = 0
while q:
node = q.popleft()
for n in [node-1, node+1, node+A, node-A, node+B, node-B, node*A, node*B]:
if (0 <= n <= 100000) and graph[n] == -1:
q.append(n)
graph[n] = graph[node]+1
if n == M:
return ;
A, B, N, M = map(int, input().split())
graph = [-1]*100001
bfs(N)
print(graph[M])
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 18405번 경쟁적 전염(python) (0) | 2021.03.12 |
---|---|
백준 알고리즘 3187번 양치기 꿍(python) (0) | 2021.03.12 |
백준 알고리즘 13565번 침투(python) (0) | 2021.03.12 |
백준 알고리즘 16928번 뱀과 사다리 게임(python) (2) | 2021.03.12 |
백준 알고리즘 16948번 데스 나이트(python) (2) | 2021.03.12 |