当前位置: 首页 > 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;
}
http://www.lryc.cn/news/335603.html

相关文章:

  • AI技术创业有哪些机会?
  • TensorFlow学习之:基础概念和操作
  • 最新在线工具箱网站系统源码
  • c# InvokeRequested delegate解决线程访问界面
  • 使用 Web Workers 作为setInterval的替代方案
  • python实现将日期文本化
  • react ant design 通过函数弹出 modal窗口
  • 力扣刷题Days33-209. 长度最小的子数组(js)
  • 面对DDOS攻击,有哪些解决办法
  • C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组
  • 免费-华为od-C卷-javascript-动态规划-贪心歌手.js
  • elementui 实现一个固定位置的Pagination(分页)组件
  • 紧急备考全攻略,如何短期通过PMP考试?
  • python开发poc,fofa爬虫批量化扫洞
  • 适用于 Windows 10 的 10 大免费数据恢复软件
  • zabbix企业级监控平台
  • 如何关闭WordPress的自动更新功能
  • 【分析 GClog 的吞吐量和停顿时间、heapdump 内存泄漏分析】
  • [STL-list]介绍、与vector的对比、模拟实现的迭代器问题
  • 代码随想录-035期-算法训练营【博客笔记汇总表】
  • postgresql数据库|数据整合的好工具--Oracle-fdw的部署和使用
  • 让php开发更优雅-Laravel篇
  • 自动化测试之httprunner框架hook函数实操
  • 物联网实战--入门篇之(七)嵌入式-MQTT
  • 跑模型——labelme的json文件转成yolo使用的txt文件(语义分割)
  • 一个项目仿京东商场代码
  • 计算机网络——WEB服务器编程实验
  • 蓝桥杯算法题:最大比例
  • 【堡垒机】堡垒机的介绍
  • 通过 ffmpeg命令行 调节视频播放速度