社区讨论

31行41列有神马问题???

P1162填涂颜色参与者 6已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mi7ysdih
此快照首次捕获于
2025/11/21 05:49
4 个月前
此快照最后确认于
2025/11/21 05:49
4 个月前
查看原帖
#include<bits/stdc++.h> using namespace std; int n,a[31][31],b[31][31],xx,yy,dx[5]={0,0,-1,0,1},dy[5]={0,-1,0,1,0},c[31][31]; bool pd1(int x) { if(x==1) return 1; else return 0; } bool pd2() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(pd1(b[i][j])==0) return 0; return 1; } void print() { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<a[i][j]; cout<<endl; } } void dfs(int x,int y) { for(int i=0;i<5;i++) { xx=x+dx[i]; yy=y+dy[i]; if(xx>0&&xx<=n&&yy>0&&yy<=n&&c[xx][yy]=1&&a[xx][yy]==0) { c[xx][yy]=0; b[xx][yy]=1; dfs(xx,yy); } else return; } } int main() { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[i][j]=1; cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i==1||j==1||i==n||j==n) dfs(i,j); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(b[i][j]!=1&&a[i][j]!=1) a[i][j]=2; print(); return 0; }

回复

6 条回复,欢迎继续交流。

正在加载回复...