每日一题 第八十七期 洛谷 [蓝桥杯 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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

liunx环境变量学习总结

环境变量 在操作系统中&#xff0c;环境变量是一种特殊的变量&#xff0c;它们为运行的进程提供全局配置信息和系统环境设定。本文将介绍如何自定义、删除环境变量&#xff0c;特别是对重要环境变量PATH的管理和定制&#xff0c;以及与环境变量相关的函数使用。 自定义环境变…

李廉洋:4.9黄金屡创新高。黄金原油晚间最新分析建议。

但当下不管是战争因素所带来的避险情绪影响还是美国降息与否所带来的经济影响都无疑还是支撑着黄金继续走高&#xff0c;那么接下来&#xff0c;只要市场不出现较大的利空影响&#xff0c;黄金都不会有较大的回调力度&#xff0c;所以我们当下不管是短线还是长线仍旧以继续看多…

基于SSM+Jsp+Mysql的物流管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

到底有什么是 Node.js 无法实现的?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;它使得 JavaScript 能够脱离浏览器在服务器端运行。Node.js 以其非阻塞 I/O 和事件驱动的特性而广受欢迎&#xff0c;尤其在构建快速、可伸缩的网络应用方面表现出色。然而&#xff0c;尽管 Node.js 非常强…

定制一套ERP系统怎么样?大概要多少钱?

定制一套ERP系统怎么样&#xff1f;大概要多少钱&#xff1f;这篇内容3000字&#xff0c;纯手打。全部都是我们9年来沉淀的实际经验。 作为有9年系统定制开发经验的乙方厂商&#xff0c;定制ERP系统可以粗略划分为3个方向&#xff1a; ERP管理系统模板&#xff0c;可直接查看和…

Linux学习-环境变量和可执行属性

Linux学习-环境变量和可执行属性 文件的可执行属性和环境变量 Linux下文件有一个特殊的属性即可执行属性&#xff0c;用来指示这个文件是一个可执行的脚本或可以运行的二进制文件。前面所提到的这些命令&#xff0c;都具有可执行属性。 which: 表示查看命令的路径。一般用于…

MySQL中数据库、表的操作

文章目录 一、管理数据库1.1、连接数据库1.2、创建库1.3、选择数据库1.4、修改数据库名称1.5、查看数据库信息1.6、删除库 二、定义数据表字段2.1、数据表字段的数据类型2.2、数据表字段属性2.3、约束讲解2.3.1、约束的定义1&#xff09;为什么需要约束2&#xff09;什么是约束…

Matplotlib实现数据可视化

Matplotlib是Python中应用较为广泛的绘图工具之一&#xff0c;首次发布于2007年。它在函数设计上参考了MATLAB&#xff0c;因此名字以"Mat"开头&#xff0c;中间的"plot"代表绘图功能&#xff0c;结尾的"lib"表示它是一个集合。Matplotlib支持众…

Unity多线程简单示例

using UnityEngine; using System.Threading;public class texxxst : MonoBehaviour {Thread thread;void Start(){// 创建一个新的线程&#xff0c;并传入要执行的方法thread new Thread(new ThreadStart(DoWork));// 启动线程thread.Start();}void DoWork(){for (int i 0; …

Go 之缓冲通道限制协程并发数目

并发执行的协程太多可能会对系统资源的消耗特别大&#xff0c;从而导致其它进程服务受到影响&#xff0c;因此协程执行时应该设计一种机制&#xff0c;来限制并发执行的协程数目。 其中 WaitGroup 主要用作协程同步&#xff0c;当所有协程都执行完毕以后&#xff0c;才会结束主…

高颜值高性能的开源免费自托管照片和视频备份方案:Immich

Immich&#xff1a;安全存储您的珍贵记忆&#xff0c;高颜值且高性能的自托管照片与视频备份解决方案&#xff0c;让您随时随地无忧回顾美好时光。- 精选真开源&#xff0c;释放新价值。 概览 在数字化时代&#xff0c;我们的照片和视频越来越多&#xff0c;如何安全、有效地备…

【IC前端虚拟项目】SDC文件编写与DC综合环境组织

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 好的终于来到了综合的环节,在此我们假设已经通过vcs和spyglass把lint问题清理干净了,那么dc综合也不会出现太大的波折。综合阶段我们可以分为三个小的过程: 1.综合前——sdc编写; 2.综合中——dc综…

函数参数的类型

在Python中&#xff0c;函数参数的类型可以是以下几种&#xff1a; 位置参数&#xff08;Positional Arguments&#xff09;&#xff1a; 位置参数是最常见的函数参数类型&#xff0c;它们按照函数定义时参数的顺序来传递。当你调用一个函数时&#xff0c;你需要按照函数参数列…

solidworks镜像实体怎么用

在SolidWorks中&#xff0c;镜像实体功能用于复制并反转实体或特征&#xff0c;使其沿着指定的基准面对称。以下是使用SolidWorks镜像实体的基本步骤&#xff1a; 1. 打开模型&#xff1a;首先打开SolidWorks软件&#xff0c;并加载您想要镜像的三维实体模型。 2. 找到镜像命…

Linux服务器额外安装Python3环境

服务器配置 服务器&#xff1a;CentOS Linux 版本: 7 已安装python: 2.x 新建文件夹 另外新建文件夹&#xff0c;作为单独环境 这里在默认根目录新建文件夹&#xff0c;python3 下载PYTHON 可以手动下载对应版本&#xff0c;之后上传服务器中对应的文件夹。 或者使用网址下…

揭秘操作系统:核心功能与Linux系统解析

1.引言 在先前探讨中&#xff0c;我们了解到计算机主机内部的硬件资源需要一种高效管控手段&#xff0c;由此催生了操作系统的诞生。操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;&#xff0c;是计算机生态系统中不可或缺的核心组件&#xff0c;以其复杂…

TypeScript常用知识点整理

介绍 TypeScript 是 JavaScript 的一个超集&#xff0c;添加了静态类型支持和更多现代编程特性&#xff0c;提高了代码的可靠性和可维护性。最终会被编译成标准的 JavaScript 代码运行。 使用npm install -g typescript进行全局安装 将编写好的ts代码进行运行&#xff0c;第…

Linux文件查找命令详解——以CentOS为例

Linux文件查找命令详解——以CentOS为例 在Linux系统中&#xff0c;文件查找是一项非常重要的任务。无论是系统管理员还是普通用户&#xff0c;都需要掌握一些基本的文件查找命令。本文将详细介绍Linux中常用的文件查找命令&#xff0c;并以CentOS为例&#xff0c;展示如何使用…

深入IPCWeb-Backend:构建高效的工业过程控制Web后端系统

引言 在工业过程控制&#xff08;Industrial Process Control, IPC&#xff09;系统中&#xff0c;实时数据的监控、处理和分析至关重要。随着物联网&#xff08;IoT&#xff09;技术和云计算的发展&#xff0c;工业过程控制系统也日益依赖于Web技术来提升其连接性和可访问性。…

加密软件如何给文件加密

加密软件如何给文件加密 市面上有很多给文件加密的软件&#xff0c;它是如何给文件加密的呢&#xff1f;加密过程是否安全&#xff0c;效果是否理想呢&#xff1f;下面以安企神软件为例给大家介绍 给文件加密的关键步骤和技术。 1、选择加密算法 安企神软件可能会采用国际公…