#include<iostream>
#include<queue>
using namespace std;
int main(){
int n,t,a[50][50]={},di[4][2]={0,1,1,0,0,-1,-1,0};//方向
cin>>n;
for (int i=1; i<=n; i++) {
for (int j=1; j<=n; j++) {
cin>>a[i][j];
}
}
queue<int>qx,qy;
qx.push(0);qy.push(0);//使外部围了一圈0
while (!qx.empty()) {
int x=qx.front();
int y=qy.front();
for (int k=0; k<4; k++) {
int dx=di[k][0];
int dy=di[k][1];
if (x+dx>=0 && x+dx<=n+1 && y+dy>=0 && y+dy<=n+1 && !a[x+dx][y+dy]) {
//注意范围
a[x+dx][y+dy]=2;
qx.push(x+dx);qy.push(y+dy);
}
}
qx.pop();qy.pop();
}
for (int i=1; i<=n; i++) {
for (int j=1; j<=n; j++) {
cout<<2-a[i][j]<<' ';//反色输出
}
cout<<endl;
}
return 0;
}
/*
总结:
qx.push(0);qy.push(0);//使外部围了一圈0
cout<<2-a[i][j]<<' ';//反色输出
*/
P1162 填涂颜色
最新推荐文章于 2024-07-02 15:57:06 发布