#305. Knight Moves
Knight Moves
Knight Moves
题目描述
在一个 L×L 的棋盘上有一个骑士(马)。骑士可以朝棋盘的八个方向走马字步(“日”字)。给定骑士的起始位置和目标位置,问从起始位置到目标位置最少需要走多少步。
输入
首先输入一个整数 n(1 ≤ n ≤ 50),表示测试样例的个数。接下来每个测试样例有三行:
- 第一行是棋盘的大小 L(4 ≤ L ≤ 300);
- 第二行是马的起始位置坐标,包含两个整数 x1、y1(0 ≤ x1, y1 ≤ L-1);
- 第三行是马的目标位置坐标,包含两个整数 x2、y2(0 ≤ x2, y2 ≤ L-1)。
输出
对每个测试样例,输出马从起始位置走到目标位置的最小步数,每个结果占一行。当起始位置和目标位置相同时输出 0。
样例输入
3
8
0 0
7 0
100
0 0
30 50
10
1 1
1 1
样例输出
5
28
0