P1443

又忘发博客了啊啊啊啊啊啊啊
马的遍历竟然现在才写……
模板bfs。

#include<bits/stdc++.h>
using namespace std;
queue<int> _x,_y;
int ma[405][405],dx,dy;
int qx[8]={1,1,2,2,-1,-1,-2,-2};
int qy[8]={-2,2,-1,1,2,-2,1,-1};
int main() {
	int n,m,x,y;
	cin>>n>>m>>x>>y;
	_x.push(x);_y.push(y);ma[x][y]=1;
	while(!_x.empty()){
		for(int i=0;i<8;i++){
			dx=_x.front()+qx[i];
			dy=_y.front()+qy[i];
			if(dx>0&&dy>0&&dx<=n&&dy<=m&&(!ma[dx][dy]))ma[dx][dy]=ma[_x.front()][_y.front()]+1,_x.push(dx),_y.push(dy);
		}
		_x.pop();_y.pop();
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<ma[i][j]-1<<' ';
		}
		cout<<'\n';
	}
}
posted @ 2024-10-07 20:03  yzc_is_SadBee  阅读(12)  评论(0)    收藏  举报