帮帮蒟蒻吧……死循环
查看原帖
帮帮蒟蒻吧……死循环
482230
zhz_aleph_114514楼主2022/11/29 20:11

code:

#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
struct node{
	int x,y,dis;
};
queue<node> q;
bool mapp[1005][1005];
int n,m; 
int dx[4]={0,0,-1,1};
int dy[4]={1,-1,0,0};
int bfs(node plc){
	q.push(plc);
	int kx,ky,xx,yy;
	int maxdis=-1;
	while(!q.empty()){
		node p=q.front();
		q.pop();
		kx=p.x; ky=p.y;
		maxdis=max(maxdis,p.dis);
		for(int i=0;i<4;i++){
			xx=kx+dx[i];
			yy=ky+dy[i];
			if(mapp[kx][ky]==!mapp[xx][yy]&&xx>=0&&yy>=0&&xx<n&&yy<n){
				q.push(node{xx,yy,p.dis+1});
			}
		} 
	}
	return maxdis;
}
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			char tmp;
			cin>>tmp; 
			mapp[i][j]=bool(tmp-'0');
		}
	}
	int qx,qy;
	for(int i=0;i<m;i++){
		cin>>qx>>qy;
		node kkk;
		kkk.x=qx;
		kkk.y=qy;
		kkk.dis=0;
		cout<<bfs(kkk);
	}
	return 0;
}

2022/11/29 20:11
加载中...