#include<iostream>
using namespace std;
struct node{int x,y;};
int n,m,x,y,s=0,map[410][410];
bool f[410][410];
node que[160010];
int main(){
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
map[i][j]=-1;
int tou=1,wei=1;
map[x][y]=s;
que[wei].x=x;
que[wei++].y=y;
cout<<x<<' '<<y<<endl;
while(tou!=wei){
s++;
cout<<que[tou].x<<' '<<que[tou].y<<' '<<tou<<' '<<wei<<' '<<'%'<<endl;
if(x-1>=1&&y-2>=1&&f[x-1][y-2]==0){que[wei].x=x-1;que[wei++].y=y-2;f[x-1][y-2]=1;map[x-1][y-2]=s;}
if(x-2>=1&&y-1>=1&&f[x-2][y-1]==0){que[wei].x=x-2;que[wei++].y=y-1;f[x-2][y-1]=1;map[x-2][y-1]=s;}
if(x-2>=1&&y+1<=m&&f[x-2][y+1]==0){que[wei].x=x-2;que[wei++].y=y+1;f[x-2][y+1]=1;map[x-2][y+1]=s;}
if(x-1>=1&&y+2<=m&&f[x-1][y+2]==0){que[wei].x=x-1;que[wei++].y=y+2;f[x-1][y+2]=1;map[x-1][y+2]=s;}
if(x+1<=n&&y+2<=m&&f[x+1][y+2]==0){que[wei].x=x+1;que[wei++].y=y+2;f[x+1][y+2]=1;map[x+1][y+2]=s;}
if(x+2<=n&&y+1<=m&&f[x+2][y+1]==0){que[wei].x=x+2;que[wei++].y=y+1;f[x+2][y+1]=1;map[x+2][y+1]=s;}
if(x+2<=n&&y-1>=1&&f[x+2][y-1]==0){que[wei].x=x+2;que[wei++].y=y-1;f[x+2][y-1]=1;map[x+2][y-1]=s;}
if(x+1<=n&&y-2>=1&&f[x+1][y-2]==0){que[wei].x=x+1;que[wei++].y=y-2;f[x+1][y-2]=1;map[x+1][y-2]=s;}
tou++;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){cout<<map[i][j]<<' ';}
cout<<endl;
}
return 0;
}
为什么答案一直是wa?