#gUANGSOUybttg0104id700. 【例 3】Knight Moves

【例 3】Knight Moves

1450:【例 3】Knight Moves

时间限制: 1000 ms
内存限制: 65536 KB
提交数: 4990
通过数: 1765

题目描述

原题来自:POJ 1915

编写一个程序,计算一个骑士从棋盘上的一个格子到另一个格子所需的最小步数。骑士一步可以移动到的位置由下图给出。

(注:原题有一张示意图,展示骑士的移动方式,国际象棋中骑士走“日”字,即横向移动2格纵向移动1格或横向移动1格纵向移动2格。)

输入格式

第一行给出骑士的数量 nn

在接下来的 3n3n 行中,每 33 行描述了一个骑士。其中,

第一行一个整数 LL 表示棋盘的大小,整个棋盘大小为 L×LL \times L

第二行和第三行分别包含一对整数 (x,y)(x, y),表示骑士的起始点和终点。假设对于每一个骑士,起始点和终点均合理。

输出格式

对每一个骑士,输出一行一个整数表示需要移动的最小步数。如果起始点和终点相同,则输出 00

输入输出样例

3
8
0 0
7 0
100
0 0
30 50
10
1 1
1 1
5
28
0

提示

对于 100%100\% 的数据,有 4L3014 \le L \le 301,保证 0x,yL10 \le x, y \le L-1