#D1076. 马的遍历

马的遍历

题目描述

有一个 n×mn \times m 的棋盘,在某个点 (x,y)(x, y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。

输入格式

输入只有一行四个整数,分别为 n,m,x,yn, m, x, y

输出格式

一个 n×mn \times m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 1-1)。

注意:输出的每个数需要占用五个数的位置(末尾补空格),你可以自行根据数据大小调整末尾空格数量,或者使用 <<left<<setw(5)printf("%-5d",...) 等方式来控制左对齐,场宽 5。

3 3 1 1
0    3    2    
3    -1   1    
2    1    4

提示

数据规模与约定

对于全部的测试点,保证 1xn4001 \leq x \leq n \leq 4001ym4001 \leq y \leq m \leq 400