骑士移动

题目描述

在一个棋盘上有一个骑士,骑士可以按下图所示的8方向跳到相邻的格子,请问骑士从给定的起点到终点,至少需要跳多少次?

输入

本题包含多组测试数据。
第一行给出骑士的数量 n。
在接下来的 3 * n 行中,每 3 行描述了一个骑士。
每组数据第一行一个整数 L 表示棋盘的大小,整个棋盘大小为 L×L;
第二行和第三行分别包含一对整数 (x,y),表示骑士的起始点和终点。假设对于每一个骑士,起始点和终点均合理。

输出

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

样例

输入:

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

输出:

5
28
0

说明

对于 100% 的数据,有 4≤L≤300,保证 0≤x,y≤L−1。
查看思路与题解