#include<bits/stdc++.h>
using namespace std;
int i,j,n,m,k,x,y;
long wz[401][401];
void d(int xx,int yy)
{
if(xx+2<=n&&yy+1<=m)
{
if(wz[xx+2][yy+1]>wz[xx][yy]+1)
{
wz[xx+2][yy+1]=wz[xx][yy]+1;
d(xx+2,yy+1);
}
}
if(xx+2<=n&&yy-1>0)
{
if(wz[xx+2][yy-1]>wz[xx][yy]+1)
{
wz[xx+2][yy-1]=wz[xx][yy]+1;
d(xx+2,yy-1);
}
}
if(xx-2>0&&yy+1<=m)
{
if(wz[xx-2][yy+1]>wz[xx][yy]+1)
{
wz[xx-2][yy+1]=wz[xx][yy]+1;
d(xx-2,yy+1);
}
}
if(xx-2>0&&yy-1>0)
{
if(wz[xx-2][yy-1]>wz[xx][yy]+1)
{
wz[xx-2][yy-1]=wz[xx][yy]+1;
d(xx-2,yy-1);
}
}
if(xx+1<=n&&yy+2<=m)
{
if(wz[xx+1][yy+2]>wz[xx][yy]+1)
{
wz[xx+1][yy+2]=wz[xx][yy]+1;
d(xx+1,yy+2);
}
}
if(xx-1>0&&yy+2<=m)
{
if(wz[xx-1][yy+2]>wz[xx][yy]+1)
{
wz[xx-1][yy+2]=wz[xx][yy]+1;
d(xx-1,yy+2);
}
}
if(xx+1<=n&&yy-2>0)
{
if(wz[xx+1][yy-2]>wz[xx][yy]+1)
{
wz[xx+1][yy-2]=wz[xx][yy]+1;
d(xx+1,yy-2);
}
}
if(xx-1>0&&yy-2>0)
{
if(wz[xx-1][yy-2]>wz[xx][yy]+1)
{
wz[xx-1][yy-2]=wz[xx][yy]+1;
d(xx-1,yy-2);
}
}
}
int main()
{
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
wz[i][j]=n*m;
}
}
wz[x][y]=0;
d(x,y);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(wz[i][j]!=n*m)
{
if(wz[i][j]<=9)
{
cout<<wz[i][j]<<" ";
}
else if(wz[i][j]>9&&wz[i][j]<=99)
{
cout<<wz[i][j]<<" ";
}
else if(wz[i][j]>99)
{
cout<<wz[i][j]<<" ";
}
}
if(wz[i][j]==n*m)cout<<-1<<" ";
}
cout<<endl;
}
return 0;
}
```第九个点TLE了,大佬求教