#include<bits/stdc++.h>
using namespace std;
int n,m,x1[8]={1,1,2,2,-1,-1,-2,-2},y1[8]={2,-2,1,-1,2,-2,1,-1},b[402][402]={0},x,y,sum,o=1;
bool a[402][402];
queue<int> x2,y2,sum1;
int main()
{
cin>>n>>m>>x>>y;
memset(a,true,sizeof(a));
x2.push(x);
y2.push(y);
sum1.push(1);
b[x][y]=1;
a[x][y]=false;
while(o!=0)
{
x=x2.front();
y=y2.front();
sum=sum1.front();
for(int i=0;i<=7;i++)
{
if((x+x1[i])>=1&&(y+y1[i])>=1&&(x+x1[i])<=n&&(y+y1[i])<=m&&a[x+x1[i]][y+y1[i]]==true)
{
b[x+x1[i]][y+y1[i]]=sum+1;
a[x+x1[i]][y+y1[i]]=false;
x2.push(x+x1[i]);
y2.push(y+y1[i]);
sum1.push(sum+1);
o++;
}
}
x2.pop();
y2.pop();
sum1.pop();
o--;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
printf("%d ",b[i][j]-1);
}
printf("\n");
}
return 0;
}
# ```
蟹蟹惹