博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1162 填涂颜色
阅读量:5829 次
发布时间:2019-06-18

本文共 1062 字,大约阅读时间需要 3 分钟。

#include
#include
#include
#include
#include
#include
#include
using namespace std;int a[40][40],n;bool f[40][40];int dx[]={ 0,1,-1,0,0};int dy[]={ 0,0,0,1,-1};struct que{ int x; int y;}pos[2000];void bfs(){ int head=0,tail=0; for(int i=1;i<=n;i++){ if(a[1][i]==0&&!f[1][i]){ pos[++tail].x=1;pos[tail].y=i;f[1][i]=true; } if(a[i][1]==0&&!f[i][1]){ pos[++tail].x=i;pos[tail].y=1;f[i][1]=true; } if(a[n][i]==0&&!f[n][i]){ pos[++tail].x=n;pos[tail].y=i;f[n][i]=true; } if(a[i][n]==0&&!f[i][n]){ pos[++tail].x=i;pos[tail].y=n;f[i][n]=true; } while(head
=1&&ny>=1&&ny<=n) if(!f[nx][ny]){ pos[++tail].x=nx;pos[tail].y=ny;f[nx][ny]=true; } } } }}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){ scanf("%d",&a[i][j]); if(a[i][j]==1)f[i][j]=true; } bfs(); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) if(!f[i][j])printf("2 "); else printf("%d ",a[i][j]); puts(""); } return 0; }

转载于:https://www.cnblogs.com/dfsac/p/6819778.html

你可能感兴趣的文章