#AT0176. 马踏棋盘
马踏棋盘
题目描述
在象棋中,马的移动规则是通过走“日”字型的路径。
将象棋棋盘用坐标表示,如下图中。马在 位置,那么马可以跳到 等 位置。当然,要保证马不能跳到棋盘的外面。
显然传统的规则下,马的跳跃距离为 ,但现在小 Z 对这一规则进行了改进。
小 Z 的改进是马每次跳跃的距离必须是一个整数,且不再限制为 。例如,从 点可以跳向 、距离为 个单位。请注意,马在跳跃时不能直线前进,必须采用斜线路径,当然马仍然只能从整数点,跳到整数点。
现在给定,棋盘的大小,具体地,棋盘范围是从 点到 的点。你的任务是给定棋盘的大小和马的初始坐标,计算出马跳到每个点的最小步数。要注意的是,在这个过程中,马始终不能跳到棋盘的外面。
输入格式
输入第一行有三个整数 ,其中 代表棋盘大小,, 代表马的初识坐标为 。
输出格式
一个 行 列的矩阵,其中第 行第 列的整数表示马到达坐标 点最少要走几步。如果不能到达则输出 。
样例
5 0 0
0 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 1
-1 -1 -1 1 -1
数据范围
对于 的测试点,保证
对于 的测试点,保证
对于 的测试点,保证 ,并且保证 。