#L0500. 棋盘上的骑士

棋盘上的骑士

题目描述

在一个 n×mn \times m 的国际象棋棋盘上,有一枚骑士位于第 xx 行第 yy 列的位置。请你计算出骑士到达棋盘上每一个格子最少需要走多少步。如果骑士无法到达某个格子,则输出 1-1

骑士的走法遵循国际象棋规则:从当前位置出发,可以向八个方向之一移动,每次移动的位移为 (±1,±2)(\pm 1, \pm 2)(±2,±1)(\pm 2, \pm 1)

输入格式

输入只有一行四个整数 n,m,x,yn, m, x, y,分别表示棋盘的行数、列数以及骑士的起始行号和列号。

输出格式

输出一个 n×mn \times m 的整数矩阵,第 ii 行第 jj 列的整数表示骑士从起点到达 (i,j)(i, j) 的最少步数,无法到达则输出 1-1。相邻整数之间用空格分隔。

样例

3 3 1 1
0 3 2    

3 -1 1
2 1 4

</p>

提示

数据规模与约定

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

输出以空格或者合理的场宽分割每个整数都将判作正确。

难度 普及-
通过率
尝试 0
已通过 0
ID
1228
类型
传统题
Time Limit
1000ms
Memory Limit
128MiB
上传者