๋ฐฑ์ค 7562๋ฒ ํ์ด์ฌ
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
move = ((-2,-1),(-1,-2),(-2,1),(-1,2),(2,-1),(1,-2),(1,2),(2,1))
# ๋์ดํธ์ ์ด๋ ๊ท์น
for _ in range(n):
l = int(input())
s = tuple(map(int, input().split()))
e = tuple(map(int, input().split()))
visited = [[0] * l for _ in range(l)]
q = deque([s]) # bfs
while q:
xi, xj = q.popleft()
for mi, mj in move:
ci, cj = (mi + xi), (mj + xj)
if 0<=ci<l and 0<=cj<l:
# ์ฒด์ค๋ณด๋ ๋ฒ์ ์์ ์์ง์ผ ์ ์๋ ์ขํ์ธ์ง ํ์ธ
if (not visited[ci][cj]): # ๋ฐฉ๋ฌธ ํ ์ ์ด ์๋ ๊ฒฝ์ฐ
q.append((ci, cj))
visited[ci][cj] = visited[xi][xj] + 1
# ๋ถ๋ชจ ๋
ธ๋๊น์ง์ ์ต์ ๊ฐ์ 1์ ๋ํ๋ค.
visited[s[0]][s[1]] = 0 # ์์๊ณผ ๋์ด ๊ฐ์ ๋
print(visited[e[0]][e[1]])