P1162 填涂颜色
来源:互联网 发布:KK紫峰抢红包软件 编辑:程序博客网 时间:2024/06/10 07:56
题见洛谷
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#include<vector>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<tail){ head++; for(int i=1;i<=4;i++){ int nx=pos[head].x+dx[i],ny=pos[head].y+dy[i]; if(nx<=n&&nx>=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; }
0 0
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- 洛谷P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- 洛谷P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- [LUOGU] P1162 填涂颜色
- 洛谷p1162 填涂颜色
- [luogu]P1162填涂颜色
- 洛谷OJ P1162填涂颜色
- Luogu P1162填涂颜色 +BFS
- 【搜索】洛谷 P1162 填涂颜色
- MySQL GROUP_CONCAT(expr)函数的使用
- iOS中frame和bounds的区别
- ant编译tomcat
- MySQL 命令大全
- 1244 数字统计(从1~n各个数字出现的次数)
- P1162 填涂颜色
- Python模拟登陆练习——imooc.com登陆
- 《Android群英传》读书笔记6.Android绘图机制与处理技巧
- Storm编程模型仿真---wordCount案例剖析
- 序列化和反序列化
- 我的第一次寒假生活
- js的基本数据类型有哪些?(转载)
- linux下简单的磁盘报警脚本/crontab无法获取变量
- 欢迎使用CSDN-markdown编辑器