https://www.luogu.org/problem/show?pid=1162

//其实很简单的吧
//就是最外圈加一圈0 ,然后把外圈里面的0都遍历了
//剩下的0 就变成2 就行了
#include<bits/stdc++.h>
using namespace std;
typedef pair <int,int> pii;
int n ,s[][];
bool vis[][];
int fx[]={-,,,};
int fy[]={,-,,}; bool check(int x,int y)
{
if(!vis[x][y] && s[x][y] == && x>= && x<=n+ && y>= && y<=n+)
return ;
return ;
} void bfs(int x,int y)
{
queue<pii > que;
que.push({x,y});
//cout<<"yes1"<<endl;
while (que.size() )
{
pii now = que.front(); que.pop();
if( vis[now.first][now.second] )
continue;
vis[now.first][now.second] = ;//注意该点已经访问过 这里很容易忘记的吧
//cout<<"yes2"<<endl;
for(int i=;i<;i++)
{
//cout<<"yes3"<<endl;
int dx= now.first+fx[i];
int dy= now.second+fy[i]; if(check(dx,dy))
{
//cout<<"yes3"<<endl;
que.push({dx,dy});
}
}
}
} int main ()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
scanf("%d",&s[i][j]);
//cout<<endl;
//因为外圈已经本身就是0了
//从第0行到第n+1行
bfs(,); for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if( vis[i][j] )
cout<<<<" ";
else if(s[i][j] == )
cout<<<<" ";
else
cout<<<<" ";
}
cout<<endl;
}
}

luogu P1162 填涂颜色的更多相关文章

  1. luogu P1162 填涂颜色 x

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

  2. 洛谷 P1162 填涂颜色 DFS

    P1162 填涂颜色 https://www.luogu.com.cn/problem/P1162 qaq搜索好抽象啊,蒟蒻表示难以理解,搞半天才做出来一道题,很挫败www 思路 染色法.找墙壁外的连 ...

  3. 洛谷 P1162 填涂颜色

    题目链接:https://www.luogu.org/problemnew/show/P1162 题目描述由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要 ...

  4. 洛谷 P1162 填涂颜色【DFS】

    题目链接:https://www.luogu.org/problemnew/show/P1162 题目描述 由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 ...

  5. 洛谷—— P1162 填涂颜色

    https://www.luogu.org/problem/show?pid=1162 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭 ...

  6. 洛谷P1162—填涂颜色

    这应该是是第一次记录洛谷题库里的题目吧: 题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \ ...

  7. P1162 填涂颜色

    原题链接 https://www.luogu.org/problemnew/show/P1162 一道很水很简单的搜索题,好吧我还是交了4次才过的...... 说一下简单的思路: 首先输入n*n的矩阵 ...

  8. 洛谷P1162 填涂颜色【bfs】

    题目链接:https://www.luogu.org/problemnew/show/P1162 题意: 有一个0和1组成的矩阵,一些1组成一个闭合圈,圈住一些0,现在要把被圈住的这些0变成2输出. ...

  9. P1162 填涂颜色 洛谷

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

随机推荐

  1. 给大家推荐一个好的android模拟器genymotion,非常流畅,跟真机差不多

    http://www.genymotion.cn/这里是下载地址, 下载的时候会要求输入邮箱并注册,这个邮箱尽量用网易这类的邮箱,我试过qq邮箱无法收到验证邮件, 程序下载安装完成后,打开客户端选择设 ...

  2. CVE-2017-1000117命令注入验证

    首先,我们来看第一个问题,就是ssh的一种操作. ssh -oProxyCommand=gnome-calculator xxx 问题的本质在于ssh会把//后的host那么部分带-号的按照参数指令去 ...

  3. intellijIDEA常用快捷键以及和Eclipse快捷键的对照

    ​CTRL + D 复制当前行到下一行  相当于eclipse中的 CTRL + SHIFT + 下 CTRL + /  单行注释和反注释 CTRL +SHIFT + / 块儿注释和反注释 CTRL ...

  4. 【BZOJ2329/2209】[HNOI2011]括号修复/[Jsoi2011]括号序列 Splay

    [BZOJ2329/2209][HNOI2011]括号修复/[Jsoi2011]括号序列 题解:我们的Splay每个节点维护如下东西:左边有多少多余的右括号,右边有多少多余的左括号,同时为了反转操作, ...

  5. ehcache加载配置文件ehcache.xml的源码

    package net.sf.ehcache.config; public final class ConfigurationFactory { public static Configuration ...

  6. ExtJS学习

    ExtJS是一门比较纠结的框架,自己不太熟,因为现在在做一些老项目,所以没办法要学点.记录下.其实Ext也不是很难,主要是多查查API,了解其基本的用法,然后慢慢去学习,学成之后做管理系统还是很有优势 ...

  7. Oracle下where子句

    课外题 要求:删除某一个用户,同时保留该用户的数据?如何解决 alter user scott account lock :改天需要使用则解锁unlock 锁定用户使用sysdba登录还是可以查看数据 ...

  8. Dubbo学习记录

    参考资料: 官网 Dubbo详细介绍与安装使用过程

  9. Oracle安装部署之 6节点11g cluster环境搭建

    **********************集群规划*************************************** --配置主机,共需要8台主机,其中6台做grid集群,1台作为存储服 ...

  10. 为linux扩展swap分区

    1.查看当前swap分区使用情况 [root@localhost ~]# swapon -s Filename Type Size Used Priority /dev/sda2            ...