http://noi.openjudge.cn/ch0205/917/
背景索穆罗洛夫先生确实是一名出色的国际象棋玩家,他声称,除了他之外,没有其他人能如此快速地将骑士从一个位置移动到另一个位置。你能打败他吗?你的任务是编写一个程序来计算骑士从一个点到另一个点所需的最小移动次数,这样你就有机会比索穆洛夫更快。对于不熟悉国际象棋的人,可能的骑士动作如图1所示。
输入:输入以单行上的n个场景开始。接下来是n个场景。每个场景由包含整数的三行组成。第一行指定棋盘一侧的长度l(4<=l<=300)。整个棋盘的大小为l*l。第二行和第三行包含一对整数{0,…,l-1}*{0,…,l-1},指定棋盘上骑士的起始和结束位置。整数由一个空格分隔。您可以假设这些位置是该场景中棋盘上的有效位置。
输出:对于输入的每个场景,您必须计算从起点移动到终点所需的最少骑士移动量。若起点和终点相等,则距离为零。距离必须写在一行上。