当前位置: 首页 > news >正文

每日一题 第八十七期 洛谷 [蓝桥杯 2018 省 AB] 全球变暖

[蓝桥杯 2018 省 AB] 全球变暖

题目描述

你有一张某海域 N × N N \times N N×N 像素的照片,. 表示海洋、 # 表示陆地,如下所示:

.......
.##....
.##....
....##.
..####.
...###.
.......

其中 “上下左右” 四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 2 2 座岛屿。

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。

例如上图中的海域未来会变成如下样子:

.......
.......
.......
.......
....#..
.......
.......

请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。

输入格式

第一行包含一个整数 N N N ( 1 ≤ N ≤ 1000 ) (1 \le N \le 1000) (1N1000)

以下 N N N N N N 列代表一张海域照片。

照片保证第 1 1 1 行、第 1 1 1 列、第 N N N 行、第 N N N 列的像素都是海洋。

输出格式

一个整数表示答案。

样例 #1

样例输入 #1

7 
.......
.##....
.##....
....##.
..####.
...###.
.......

样例输出 #1

1

提示

时限 1 秒, 256M。蓝桥杯 2018 年第九届省赛

AC代码:

#include<map>
#include<set>
#include<stack>
#include<cmath>
#include<queue>
#include<string>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<numeric>
#include<iomanip>
#define endl '\n'
using namespace std;typedef long long ll;
typedef pair<int, int>PII;
const int N=3e5+10;
const int MOD=1e9 + 7;
const int INF=0X3F3F3F3F;
const int dx[]={-1,1,0,0,-1,-1,+1,+1};
const int dy[]={0,0,-1,1,-1,+1,-1,+1};
const int M = 1e6 + 10 ;typedef pair<int, int>PII;int n;
vector<PII>v[N];
char c[1010][1010];
int flag;
int st[1010][1010];
bool dfs(int x, int y, int o)
{if(x < 1 || x > n || y < 1 || y > n || st[x][y] || c[x][y] != '#') return false;//注意一下返回条件st[x][y] = 1;v[o].push_back({x, y});if(c[x + 1][y] == '#' && c[x - 1][y] == '#' && c[x][y + 1] == '#' && c[x][y - 1] == '#') flag = 1;for(int i = 0; i < 4; i ++){dfs(x + dx[i], y + dy[i], o);} return false;
}
int main()
{cin >> n;for(int i = 1; i <= n; i ++){for(int j = 1; j <= n; j ++){cin >> c[i][j];}}int o = 0, ans = 0;for(int i = 1; i <= n; i ++){for(int j = 1; j <= n; j ++){if(st[i][j]) continue;if(c[i][j] == '#'){flag = 0;dfs(i, j, o);//判断是否符合题意if(flag != 1)	ans ++;o ++;}}}cout << ans << endl;return 0;
}

相关文章:

每日一题 第八十七期 洛谷 [蓝桥杯 2018 省 AB] 全球变暖

[蓝桥杯 2018 省 AB] 全球变暖 题目描述 你有一张某海域 N N N \times N NN 像素的照片&#xff0c;. 表示海洋、 # 表示陆地&#xff0c;如下所示&#xff1a; ....... .##.... .##.... ....##. ..####. ...###. .......其中 “上下左右” 四个方向上连在一起的一片陆地组…...

AI技术创业有哪些机会?

文章目录 ✍探索AI技术创业的机会与挑战&#x1f48e;引言&#x1f48e;AI技术的快速发展与应用&#x1f48e;&#x1f339;AI技术创业的机会与方向&#x1f339;1. 行业解决方案&#x1f339;2. 智能产品和服务&#x1f339;3. 教育和培训 &#x1f48e;AI技术创业的挑战与应对…...

TensorFlow学习之:基础概念和操作

TensorFlow简介 TensorFlow是一个开源的深度学习框架&#xff0c;由Google的研究团队Google Brain Team开发&#xff0c;并在2015年发布。它是基于DistBelief&#xff0c;Google之前的一个深度学习项目&#xff0c;但被重新设计以便更灵活、更强大、更适应于研究和生产。 历史…...

最新在线工具箱网站系统源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API&#xff0c;同时还自带免费API接口&#xff0c; 是一个多功能性工具程序&#xff0c;支持后台管理、上…...

c# InvokeRequested delegate解决线程访问界面

说明 界面操作的代码应该写在界面&#xff08;Form/Dialog&#xff09;里 方法定义 private void Method1(string s) {...... }delegate定义 private delegate void Method1Delegate(string s);界面调用代码 private void op(){string sText"hello";if (this.In…...

使用 Web Workers 作为setInterval的替代方案

使用 Web Workers 作为setInterval的替代方案 在 Vue 项目中&#xff0c;为了避免 setInterval 在标签页非激活状态下的不准确问题&#xff0c;我们可以使用 Web Workers 作为一个替代方案 Web Worker 介绍&#xff1a; Web Workers : 浏览器后台为网页运行的一个小助手&…...

python实现将日期文本化

环境&#xff1a;python3.8.10 需要&#xff1a;有些时候&#xff0c;需要在一段文本的后面&#xff0c;添加上日期&#xff0c;尤其是文本重复的情况下&#xff0c;添加上每天的日期更为重要。 代码实现&#xff1a; import datetimetodaydatetime.date.today() date_textto…...

react ant design 通过函数弹出 modal窗口

在React Ant Design中&#xff0c;可以通过调用Modal组件的方法来动态弹出和关闭Modal窗口。具体步骤如下&#xff1a; 1、首先&#xff0c;在组件中引入Modal组件&#xff1a; import { Modal } from antd;2、在组件中定义一个函数来弹出Modal窗口&#xff1a; const showM…...

力扣刷题Days33-209. 长度最小的子数组(js)

目录 1&#xff0c;题目-滑动窗口 2&#xff0c;代码 滑动窗口 3&#xff0c;学习与总结 1&#xff0c;题目-滑动窗口 给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1,…...

面对DDOS攻击,有哪些解决办法

随着互联网带宽的持续增长以及DDOS黑客技术的发展&#xff0c;DDOS拒绝服务攻击的实施变得愈发容易。商业竞争、打击报复、网络敲诈等多种因素&#xff0c;各行各业的用户都曾受到DDOS攻击的威胁。 一旦遭受到DDOS攻击&#xff0c;随之而来的就是业务宕机&#xff0c;用户无法…...

C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组

本文介绍基于C语言GDAL库&#xff0c;批量读取大量栅格遥感影像文件&#xff0c;并生成各像元数值的时间序列数组的方法。 首先&#xff0c;我们来明确一下本文所需实现的需求。现在有一个文件夹&#xff0c;其中包含了很多不同格式的文件&#xff0c;如下图所示。 其中&#x…...

免费-华为od-C卷-javascript-动态规划-贪心歌手.js

动态规划-贪心歌手 还有很多其他题&#xff0c;链接是github, 进去可以查看对应文件夹就行...

elementui 实现一个固定位置的Pagination(分页)组件

系列文章目录 一、elementui 导航菜单栏和Breadcrumb 面包屑关联 二、elementui 左侧导航菜单栏与main区域联动 三、elementui 中设置图片的高度并支持PC和手机自适应 四、 elementui 实现一个固定位置的Pagination&#xff08;分页&#xff09;组件 文章目录 系列文章目录…...

紧急备考全攻略,如何短期通过PMP考试?

今年身边有很多同事朋友都要考PMP&#xff0c;而我属于这些人里”第一个吃螃蟹“的人&#xff0c;一次拿下5A&#xff0c;下面分享一下我自己备考PMP的经验。 我是根据自己的学习计划复习的&#xff0c;不能说这些方法适合所有人&#xff0c;但对备考的伙伴们来说&#xff0c;…...

python开发poc,fofa爬虫批量化扫洞

学习使用python做到批量化的漏洞脚本 1.通过fofa搜索结果来采集脚本 2.批量化扫描漏洞 ---glassfish存在任意文件读取在默认48484端口&#xff0c;漏洞验证的poc为: "glassfish" && port"4848" && country"CN" http://loca…...

适用于 Windows 10 的 10 大免费数据恢复软件

数据丢失可能是一场噩梦&#xff0c;尤其是在涉及重要文件和文档时。无论是由于意外删除、系统崩溃还是病毒攻击&#xff0c;找到适合 Windows 10 的文件夹恢复软件都可以在恢复丢失的数据方面发挥重要作用。在本指南中&#xff0c;我们将探索适用于 Windows 10 用户的 10 大免…...

zabbix企业级监控平台

zabbix部署 安装源 重新创建纯净环境&#xff0c;利用base克隆一台虚拟机server1 给server1做快照&#xff0c;方便下次实验恢复使用 进入zabbix官网https://www.zabbix.com rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm …...

如何关闭WordPress的自动更新功能

Wordpress为什么自动更新 WordPress自动更新是为了提供更好的安全性和稳定性。 安全性&#xff1a;WordPress是一个广泛使用的内容管理系统&#xff0c;因此成为恶意攻击的目标。WordPress的自动更新功能确保你的网站及时获得最新的安全补丁和修复程序&#xff0c;以保护你的网…...

【分析 GClog 的吞吐量和停顿时间、heapdump 内存泄漏分析】

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容GClog分析以优化吞吐量和停顿时间步骤1: 收集GClog步骤2: 分析GClog步骤3: 优化建议步骤4: 实施优化 Heapdump内存泄漏分析步骤1: 获取Heapdump步骤2: 分析Heapdump步骤3: 定位泄漏对象步骤4: 分析泄漏原因步骤5: 修复泄漏…...

[STL-list]介绍、与vector的对比、模拟实现的迭代器问题

一、list使用介绍 list的底层是带头双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。与其他的序列式容器相比(array&#xff0c;vector&#xff0c;deque)&#xff0c;list通常在任意位置进行…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

使用VMware克隆功能快速搭建集群

自己搭建的虚拟机&#xff0c;后续不管是学习java还是大数据&#xff0c;都需要集群&#xff0c;java需要分布式的微服务&#xff0c;大数据Hadoop的计算集群&#xff0c;如果从头开始搭建虚拟机会比较费时费力&#xff0c;这里分享一下如何使用克隆功能快速搭建一个集群 先把…...

【Pandas】pandas DataFrame dropna

Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值&#xff08;NaN&#xff09;DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充&#xff08;即“下一个有效观测值”&#xff09…...

汇编语言学习(三)——DoxBox中debug的使用

目录 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 二、debug是什么 三、debug中的命令 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 链接&#xff1a; https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…...

【大厂机试题+算法可视化】最长的指定瑕疵度的元音子串

题目 开头和结尾都是元音字母&#xff08;aeiouAEIOU&#xff09;的字符串为元音字符串&#xff0c;其中混杂的非元音字母数量为其瑕疵度。比如: “a” 、 “aa”是元音字符串&#xff0c;其瑕疵度都为0 “aiur”不是元音字符串&#xff08;结尾不是元音字符&#xff09; “…...