白駿/夜の移動/7562
Question
質問リンク
Silver 1
Logic
デフォルト構造:bfs
1.夜間の移動可能位置をdx,dyと定義する.
2.開始位置から、移動可能な位置をターゲット位置に到達するまでキューに追加します.
Code
質問リンク
Silver 1
Logic
デフォルト構造:bfs
1.夜間の移動可能位置をdx,dyと定義する.
2.開始位置から、移動可能な位置をターゲット位置に到達するまでキューに追加します.
Code
from collections import deque
from sys import stdin
dx = [-1, -2, -2, -1, 1, 2, 2, 1]
dy = [2, 1, -1, -2, -2, -1, 1, 2]
def bfs(ax,ay,bx,by):
q = deque()
q.append([ax,ay])
li[ax][ay] = 1
while(q):
a,b = q.popleft()
if a==bx and b ==by:
print(li[bx][by]-1)
return
for i in range(8):
x=a+dx[i]
y=b+dy[i]
if 0 <= x < L and 0 <= y < L and li[x][y] == 0:
q.append([x, y])
li[x][y] = li[a][b] + 1
for i in range(int(stdin.readline())):
L = int(stdin.readline())
li = [[0]*L for _ in range(L)]
ax,ay = map(int,stdin.readline().split())
bx,by = map(int,stdin.readline().split())
bfs(ax,ay,bx,by)
Reference
この問題について(白駿/夜の移動/7562), 我々は、より多くの情報をここで見つけました https://velog.io/@swany0509/백준-나이트의-이동-7562テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol