#include<bits/stdc++.h>
#define int long long
using namespace std;
queue<pair<int,int>> q;
int n,m,xx1,xx2,yy1,yy2;
int step[1010][1010];
int a[1010][1010];
int dirx[8]={-2,-1,1,2,2,1,-1,-2};
int diry[8]={1,2,2,1,-1,-2,-2,-1};
bool check(int x,int y) {
	if(x<1||x>n||y<1||y>m)	return 0;
	if(step[x][y])	return 0;
	return 1;
}
void f(int x,int y) {
	q.push({x,y});
	step[x][y]=1;
	while(!q.empty()) {
		int x=q.front().first;
		int y=q.front().second;
		q.pop();
		for(int i=0;i<8;i++) {
			int xx=x+dirx[i];
			int yy=y+diry[i];
			if(check(xx,yy)) {
				q.push({xx,yy});
				step[xx][yy]=step[x][y]+1;
			}
		}
	}
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m;
//	for(int i=1;i<=n;i++){
//		for(int j=1;j<=m;j++){
//			
//		} 
//	}
	cin>>xx1>>yy1;
	f(xx1,yy1);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<step[i][j]-1<<' '; 
		} 
		cout<<'\n';
	}
	return 0;
}

0 条评论

目前还没有评论...