社区讨论
32分求助
P1162填涂颜色参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo7mrwuk
- 此快照首次捕获于
- 2023/10/27 04:22 2 年前
- 此快照最后确认于
- 2023/10/27 04:22 2 年前
CPP
#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;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...