```cpp
#include <bits/stdc++.h>
using namespace std;
int ma[1010][1010];
int n, m, x, y;
int xx[8] = {-1, -2, -2, -1, 1, 2, 2, 1};
int yy[8] = {2, 1, -1, -2, 2, 1, -1, -2};
void dfs(int x, int y, int num)
{
ma[x][y] = num;
for (int i = 0; i < 8; i++)
{
int dx = x + xx[i];
int dy = y + yy[i];
if (dx > 0 && dx <= n && dy > 0 && dy <= m && ma[dx][dy] > num + 1)
{
dfs(dx, dy, num + 1);
}
}
}
int main()
{
cin >> n >> m >> x >> y;
memset(ma, 114514, sizeof(ma));
dfs(x, y, 0);
ma[x][y] = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
if (ma[i][j] == 1381126738 && (i != 1 || j != 1))
cout << -1 << " ";
else if (i == x && j == y)
cout << 0 << " ";
else
cout << ma[i][j] << " ";
}
cout << endl;
}
}
// 调试 /disguss/628625
```
T掉了#8 我在看看
by _TLEer_的小号 @ 2023-07-08 21:40:59
@[_TLEer_的小号](/user/362101) 这码风可以说是完全不一样啊我都认不出自己的代码了
by czk111 @ 2023-07-08 21:46:09
@[czk111](/user/682044) 啊#8似乎专门卡记忆化的
马蜂是vscode自动格式化(
by _TLEer_的小号 @ 2023-07-08 22:07:43
@[_TLEer_的小号](/user/362101) 那怎么办
~~我的vscode好像被我玩坏了~~
by czk111 @ 2023-07-08 22:09:08
![](//图.tk/9)
by _TLEer_的小号 @ 2023-07-08 22:25:07
输出格式不对,比如说到一个点需要11步,就只要3个空格,应该用printf
by hata_no_kokoro @ 2023-07-09 15:01:16