Dev-C++编译成功,洛谷编译失败
查看原帖
Dev-C++编译成功,洛谷编译失败
1244345
Kaguya_Hacknet楼主2024/4/12 12:14
#include <bits/stdc++.h>
using namespace std;

struct point{
	int x,y;
};

const int maxn=30;
int m[maxn+2][maxn+2],n;
int move[4][2]={{1,0},{0,1},{-1,0},{0,-1}};

void bfs(queue<point> s){
	while(!s.empty()){
		point temp=s.front();
		s.pop();
		for(int i=0;i<4;i++){
			int x=temp.x+move[i][0],y=temp.y+move[i][1];
			if(m[x][y]==2){
				m[x][y]=0;
				point save;
				save.x=x;
				save.y=y;
				s.push(save);
			}
		}
	}
}

int main(){
	queue<point> q;
	cin>>n;
	for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){
		cin>>m[i][j];
		if(m[i][j]==0)m[i][j]=2;
		if((i==1||j==1||i==n||j==n)&&m[i][j]==2){
			m[i][j]=0;
			point save;
			save.x=i;
			save.y=j;
			q.push(save);
		}
	}
	bfs(q);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)cout<<m[i][j]<<" ";
		cout<<endl;
	}
	return 0;
}
2024/4/12 12:14
加载中...