https://www.acmicpc.net/problem/7562
import sys
from collections import deque
t = int(sys.stdin.readline()) # 테스트 케이스의 개수
dx = [-1, 1, 2, 2, 1, -1, -2, -2]
dy = [2, 2, 1, -1, -2, -2, -1, 1]
def bfs():
q = deque()
q.append((x, y))
visited = [[0 for _ in range(l)] for _ in range(l)]
while q:
ax, ay = q.popleft()
if ax == tx and ay == ty:
return visited[ax][ay]
else:
for i in range(0, 8):
nx = ax + dx[i]
ny = ay + dy[i]
if l > nx >= 0 and 0 <= ny < l and 0 == visited[nx][ny]:
visited[nx][ny] = visited[ax][ay] + 1
q.append((nx, ny))
while t > 0:
l = int(sys.stdin.readline()) # 체스판의 한 변의 길이
x, y = map(int, sys.stdin.readline().split()) # 현재 위치
tx, ty = map(int, sys.stdin.readline().split()) # 이동하려는 칸
cnt = bfs()
print(cnt)
t -= 1