蓝桥杯2018 B组 第九题
#include <bits/stdc++.h>
#define M 1005
using namespace std; int n;
char map1[M][M];
bool vis[M][M];
int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; void dfs(int x,int y)
{
vis[x][y] = 1;
for(int i = 0; i < 4; i++)
{
int dx = x + dir[i][0];
int dy = y + dir[i][1];
if(dx >= 0 && dy >=0 && dx < n && dy < n && !vis[dx][dy] && map1[dx][dy] == '#')
dfs(dx,dy);
}
} int main()
{
cin>>n;
int begin_count = 0,end_count = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin>>map1[i][j]; /*统计开始前岛屿个数*/
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
if(map1[i][j] == '#' && !vis[i][j])
begin_count++,dfs(i,j);
} /*淹没过程*/
memset(vis,0,sizeof(vis));
for(int i = 1; i < n-1; i++)
for(int j = 1; j < n-1; j++)
{
if(map1[i][j] == '#'){
if((map1[i+1][j]=='.'||map1[i-1][j]=='.'||map1[i][j+1]=='.'||map1[i][j-1]=='.'))
map1[i][j] = '1';
}
} /*统计结束后岛屿个数*/
memset(vis,0,sizeof(vis));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
if(map1[i][j] == '#' && !vis[i][j])
end_count++,dfs(i,j);
} cout<<begin_count - end_count<<"\n";
return 0;
}
比较简单的搜索题目,
蓝桥杯2018 B组 第九题的更多相关文章
- 第八届蓝桥杯java b组第九题
标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N ...
- 2018年蓝桥杯ava b组第一题
第一题.标题:第几天 2000年的1月1日,是那一年的第1天.那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容 如果问我怎么做的,我就是看日历做的,看了 ...
- 第九届蓝桥杯(A组填空题)
1.标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前2项 ...
- 2018年蓝桥杯java b组第二题
2.标题:方格计数 如图p1.png所示,在二维平面上有无数个1x1的小方格. 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆.你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交的是 ...
- 第八届蓝桥杯java b组第一题
1,标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购 ...
- 第六届蓝桥杯java b组第一题
第一题 三角形面积 图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. 填空答案 28 没什么好说的 第一题很水 估计就是为了增 ...
- 第八届蓝桥杯java b组第二题
标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法(如有对齐问题,参看p1.png). A ...
- 第六届蓝桥杯java b组第二题
立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身. 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 … 请你计算包括1,8,17在内, ...
- (acwing蓝桥杯c++AB组)1.1 递归
(acwing蓝桥杯c++AB组)1.课程介绍+递归 文章目录 (acwing蓝桥杯c++AB组)1.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...
随机推荐
- 关于Cocos2d-x-3.16的开发环境搭建
一.需要安装的软件 1.VS2013或者VS2015 2.Cocos:cocos2d-x-3.16:http://www.cocos.com/download 3.Python:python-2.7. ...
- springboot-multisource
项目中经常会出现需要同时连接两个数据源的情况,这里基于MyBatis来配置两个数据源,并演示如何切换不同的数据源. 通过自定义注解+AOP的方式,来简化这种数据源的切换操作. <properti ...
- shadowMap
采用PCF软化阴影,感觉还是不够柔软
- 使用 pt-online-schema-change 实现在线DDL
问题背景 平时进行修改表的结构,更改字段,新增字段,更改字段名称一般都是通过ALTER TABLE 语法进行修改的.对于小表或者并发访问不是很大的情况是OK.但是如果是在线大表,那就很麻烦.由于表数 ...
- Windows更新导致的打印问题
最近很多BarTender用户都出现了打印问题,如3700错误消息及3721错误消息.这个问题存在于BarTender的所有版本,这主要是因为什么?又该如何去解决呢? 根据BarTender英文官网提 ...
- SpringBoot------自定义Logback日志
帮助文档: https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-featur ...
- 9. Oracle DataGuard的介绍
一. Oracle DataGuard简介 Oracle DataGuard:简称DG.是由一个Primary Database(主库)和一个或者多个Standby Database(备库)组成.对O ...
- redis数据操作笔记
redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串 注意:键不能重复,值的类型分为五种:字符串string 哈希hash 列表list 集合set 有序集合zset 一. ...
- 动态性能视图v$mystat,v$sesstat,v$statname
视图说明: v$mystat-------> 当前会话统计 v$sesstat------> 按会话进行分组统计 v$sysstat-------> 当系统的整体统计 v$statn ...
- Linux下的awk文本分析命令实例(一)
1. 入门实例1.1 显示最近登录的5个帐号: [root@localhost ~]# | awk '{print $1}' root root root root reboot 1.2 如果只是显 ...