蓝桥杯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.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...
随机推荐
- 大话Json对象和Json字符串
一.Json对象和Json字符串的区别 (1)Json对象:可以通过javascript存取属性. 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的.例如: var ...
- php -- func_get_args
该方法必须在某个方法内部执行才有效 返回值为索引数组,一个数组元素对应一个参数
- windows 安装python pip Could not install packages due to anEnvironmentError: [WinError 5] 拒绝访问
找打 C:\Windows\System32 文件夹下面的cmd.exe点开后运行python -m pip install --upgrade pip 即解决问题了.
- eclipse输入中文为繁体字
今天上班在java类中写注释,发现是繁体字,于是切换到文本编辑器,简体字,于是百度发现, 原来是搜狗输入放和eclipse的快捷键ctrl+shift+F冲突,因为使用了eclipse的格式化,结果切 ...
- Java中的堆内存设置对线程创建数的影响以及-Xss参数的记录
Java的线程对象是存储在堆上的,所以,能够创建多少个线程,受到堆空间的大小限制,同时也受到每个线程的大小的限制,假如线程对象内部有一个非常大的数组字段,那就非常影响能够创建的线程的大小 我们的例子: ...
- G - Throw nails
来源hde4393 The annual school bicycle contest started. ZL is a student in this school. He is so boring ...
- nvm的安装
安装前可先卸载原来的node, npm, 安装成功后,可用nvm装node 一.用nvm-noinstall.zip安装 1.nvm-windows 下载 https://github.com/cor ...
- route 配置默认网关
影响Linux系统网络中网关配置信息的3种方式 1.生效文件cat /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY=10.0.0.254 <- ...
- 搭建svn服务器的坑
第一次搭建,能启动,就是连接不了 原因:修改配置文件(所有文字前面不能有空格,等号必须空格)
- leetcode-Given a binary tree, find its minimum depth
第一题 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the s ...