题目:917:Knight Moves(OpenJudge - 917:Knight Moves)
翻译:
背景
传说中的象棋玩家Somurolov先生断言,除了他,没有人能像他一样迅速地将骑士从一个位置移动到另一个位置。你能打败他吗?
问题
你的任务是编写一个程序来计算一个骑士从另一个点到达另一个点所需的最小移动数,这样你就有机会比Somurolov更快。
对于不熟悉国际象棋的人,骑士可以走的步子如图1所示。
输入
先输入一行----场景的数量n。
接下来是n个场景。每个场景由包含整数的三行组成。第一行指定了棋盘边的长度l (4 <= l <= 300)。整块板的大小为l * l,第二和第三行包含一对整数{0,…l - 1} *{0,…, l-1}指定骑士在棋盘上的开始和结束位置。整数之间用一个空格分隔。假设这些位置在棋盘上都是合法的。
输出
对于输入的每个场景,计算出骑士从起点移动到终点所需的最小移动量。如果起点和终点相等,距离为零。距离单独成一行。
样例输入
3 8 0 0 7 0 100 0 0 30 50 10 1 1 1 1
样例输出
5 28 0