qwq666666 @ 2022-11-03 23:20:00
#include<bits/stdc++.h>
using namespace std;
struct F{
int x,y;
};
queue<F>f;
int a[100][100],n;
const int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int main(){
cin >> n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<=n+1;i++){
for(int j=0;j<=0+1;j++){
if(i==0||i==n+1||j==0||j==n+1){
a[i][j]=3;
f.push({i,j});
while(!f.empty()){
for(int m=0;m<4;m++){
int tx=f.front().x+dir[m][0];
int ty=f.front().y+dir[m][1];
if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&a[tx][ty]==0){
a[tx][ty]=3;
f.push({tx,ty});
}
}
f.pop();
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==0)printf("2 ");
else if(a[i][j]==1)printf("1 ")
else printf("0 ");
}
printf("\n");
}
return 0;
}
by qwq666666 @ 2022-11-03 23:28:43
没事了过了,玄学
#include<bits/stdc++.h>
using namespace std;
struct F{
int x,y;
};
queue<F>f;
int a[100][100],n;
const int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int main(){
cin >> n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<=n+1;i++){
for(int j=0;j<=0+1;j++){
if(i==0||i==n+1||j==0||j==n+1&&a[i][j]==0){
a[i][j]=3;
f.push({i,j});
while(!f.empty()){
for(int m=0;m<4;m++){
int tx=f.front().x+dir[m][0];
int ty=f.front().y+dir[m][1];
if(tx>=0&&tx<=n+1&&ty>=0&&ty<=n+1&&a[tx][ty]==0){
a[tx][ty]=3;
f.push({tx,ty});
}
}
f.pop();
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==0)printf("2 ");
else if(a[i][j]==1)printf("1 ");
else printf("0 ");
}
printf("\n");
}
return 0;
}