#include <bits/stdc++.h>
using namespace std;
int x,y,m,n,s,ans[1000][1000],b[1000][1000];
void dfs(int x,int y,int s)
{
if(x<1 || y<1 || y>m || x>n || (s>ans[x][y] && ans[x][y]!=-1)) return;
else
{
ans[x][y]=s;
b[x][y]=1;
}
dfs(x+2,y+1,s+1);
dfs(x-2,y+1,s+1);
dfs(x+1,y+2,s+1);
dfs(x-1,y+2,s+1);
dfs(x+2,y-1,s+1);
dfs(x-2,y-1,s+1);
dfs(x+1,y-2,s+1);
dfs(x-1,y-2,s+1);
}
int main()
{
int i,j;
cin>>n>>m>>x>>y;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
ans[i][j]=-1;
dfs(x,y,0);
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
{
if(j==m) cout<<ans[i][j];
else cout<<ans[i][j]<<setw(5);
}
cout<<endl;
}
}
只有三十分