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

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

P1162 填涂颜色

题目描述

由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下:

0 0 0 0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 0 0 1 1 1 1

0 1 1 0 0 1 0 1 1 2 2 1

1 1 0 0 0 1 1 1 2 2 2 1

1 0 0 0 0 1 1 2 2 2 2 1

1 1 1 1 1 1 1 1 1 1 1 1

输入输出格式

输入格式:

每组测试数据第一行一个整数:n。其中n(1<=n<=30)

接下来n行,由0和1组成的nXn的方阵。

方阵内只有一个闭合圈,圈内至少有一个0。

//感谢黄小U饮品指出本题数据和数据格式不一样. 已修改(输入格式)

输出格式:

已经填好数字2的完整方阵。

输入输出样例

输入样例#1:
60 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1
输出样例#1:
0 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11 1 1 1 1 1

说明

1<=n<=30

 

#include
#include
#include
#include
#include
using namespace std;const int N=31;const int xd[]={
0,1,0,-1};const int yd[]={-1,0,1,0};struct node{ int x,y;}now,nxt,pus;int a[N][N];queue
q;int n;inline int read(){ int x=0; char c=getchar(); while(c<'0'||c>'9')c=getchar(); while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar(); return x;}inline void bfs(int x,int y){ now.x=x; now.y=y; q.push(now); while(!q.empty()) { nxt=q.front(); q.pop(); a[nxt.x][nxt.y]=3; for(int i=0;i<4;i++) { int xx=nxt.x+xd[i]; int yy=nxt.y+yd[i]; if(!a[xx][yy]&&xx>=0&&xx<=n&&y>=0&&y<=n) { pus.x=xx; pus.y=yy; a[xx][yy]=3; q.push(pus); } } } }int main(){ n=read(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[i][j]=read(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(!a[i][j]&&(i==1||i==n||j==1||j==n)) bfs(i,j); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(a[i][j]==3) printf("0 "); else if(a[i][j]==1) printf("1 "); else printf("2 "); } printf("\n"); } return 0;}/*60 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 150 0 0 0 00 0 0 0 01 1 1 1 11 0 0 0 1 1 0 0 0 1*/

 

转载于:https://www.cnblogs.com/lyqlyq/p/7073377.html

你可能感兴趣的文章
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>
设计网站大全
查看>>
JVM CUP占用率过高排除方法,windows环境
查看>>
【转】JAVA字符串格式化-String.format()的使用
查看>>
【转】ButterKnife基本使用--不错
查看>>
【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”...
查看>>
函数中关于const关键字使用的注意事项
查看>>
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>
hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
查看>>
Flutter 贝塞尔曲线切割
查看>>
golang 的编译安装以及supervisord部署
查看>>