蓝桥杯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.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...
随机推荐
- python中MetaClass的一些用法
元类在很多编程语言中都有这样的概念,我们都知道,类可以创建对象,类本身也是对象,既然是对象,那么它肯定也是被创造出来的,元类就专门用来创造类对象,于是,这就给我们提供了一种操纵或者监听类的能力. 平时 ...
- redis安装相关下载
redis-4.0.1.gem下载网址 https://rubygems.org/gems/redis/ rubyinstaller-2.3.3-x64.exe下载网址 http://dl.bintr ...
- 根据xlsx模板生成excel数据文件发送邮件代码
package mail; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- 手写LRU算法
import java.util.LinkedHashMap; import java.util.Map; public class LRUCache<K, V> extends Link ...
- 生成Oracle的AWR报告
1.打开CMD命令对话框,登录SQLPLUS(主要如果是管理员账户,用户名需要加 as sysdba,密码格式为 password@IP/实例名),输入AWR执行SQL语句(注意,路径根据实际安装路 ...
- C#GDI+ 绘制线段(实线或虚线)、矩形、字符串、圆、椭圆
C#GDI+ 绘制线段(实线或虚线).矩形.字符串.圆.椭圆 绘制基本线条和图形 比较简单,直接看代码. Graphics graphics = e.Graphics; //绘制实线 )) { pen ...
- 【2】static 、construct
[面向对象] 两个概念: 什么是类 具有一批相同属性的集合 什么是对象 特指的某一个具体的事物 [面向对象的三大特征] 1.封装 public 公共的 protected 受保护的 private 私 ...
- 微信小程序本地的域名“不在以下request合法域名列表中”错误处理方法
- IkAnalyzer2012FF_u1.jar免费下载
链接:https://pan.baidu.com/s/1P_0cdRLKJO4VIUTokvTS0g 提取码:qt3w
- python argparse sys.argv
python argparse sys.argv class WeiLearningArgumentParser(argparse.ArgumentParser): def __init__(self ...