2018蓝桥杯省赛 全球变暖(bfs)

连通性判断(用BFS和DFS实现) 连通性判断、用BFS和DFS实现 阅读详情

你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。  由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。  例如上图中的海域未来会变成如下样子:................................#................请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。  

【输入格式】第一行包含一个整数N。  (1 <= N <= 1000)  

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

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

  【输出格式】

一个整数表示答案

思路:统计海岛总数,然后模拟淹没,最后遍历地图,若有没有被淹没的,岛屿总数减1.

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
struct Node{
  int x,y;
  int num;
}Now,Next,S;
char MAP[1005][1005];
int vis[1005][1005];
int dir[4][2] = {1,0,0,1,-1,0,0,-1};
int n,sum;

bool in(int x,int y){
  if(x >= 0 && y >= 0 && x < n && y < n)return true;
  return false;
}

bool Check(int x,int y){
  for(int i=0;i<4;i++){
    int X = x + dir[i][0];
    int Y = y + dir[i][1];
    if(MAP[X][Y] == '.' && in(X,Y))return true;
  }
  return false;
}

void bfs(){
  queue<Node> q;
  S.num = sum;
  q.push(S);
  while(!q.empty()){
    Now = q.front();
    q.pop();
    if(Check(Now.x,Now.y)){
      vis[Now.x][Now.y] = 1;
    }
    for(int i=0;i<4;i++){
      Next.x = Now.x + dir[i][0];
      Next.y = Now.y + dir[i][1];
      if(in(Next.x,Next.y) && MAP[Next.x][Next.y] == '#' && vis[Next.x][Next.y] != 0){
        if(vis[Next.x][Next.y] == 0)vis[Next.x][Next.y] = 2;
        Next.num = Now.num;
        q.push(Next);
      }
    }
  }
  sum++;
  return ;
}

int main()
{
  scanf("%d",&n);
  for(int i=0;i<n;i++){
    scanf("%s",MAP[i]);
  }
  memset(vis,0,sizeof(vis));
  sum = 0;
  for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
      if(MAP[i][j] == '#'){
        if(vis[i][j] != 0)continue;
        S.x = i;
        S.y = j;
        bfs();
      }
    }
  }
  for(int i=n-1;i>=0;i--){
    for(int j=n-1;j>=0;j--){
      if(MAP[i][j] == '#' && vis[i][j] == 2){
        sum--;
      }
    }
  }
  printf("%d\n",sum>0?sum:0);
  return 0;
}

 

【每日蓝桥】60、一八年省赛Java组真题“全球变暖” 你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏“每日蓝桥”,该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想、数据结构等内容,帮助大家学习到更多的知识和技术! 标题:全球变暖 你有一张某海域 N×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示: 其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。 具体来说如果一块 阅读详情

相关推荐

CentOS 7.9安装python3.11

CentOS 7.9安装python3.11

leafseelight的专栏 1342

[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs)

读题不规范,做题两年半!

m0_74969835的博客 1804

从业10年的AI应用架构师:企业AI平台运营的4个核心经验,值得收藏

去年年底,我在某大型制造企业做AI咨询时,遇到了这样的场景:这不是个例。我接触过的10家企业中,有7家的AI平台都陷入了“技术自嗨”的陷阱——技术团队追求模型精度、功能完备性,却忽略了业务到底需要什么。如果你也遇到过类似问题:比如“模型准确率很高,但业务不买账”“AI项目上线后没人用”“投入产出比极低”,那么这篇文章的4个经验,可能会帮你避开这些坑。很多企业认为,AI平台就是“买一套工具+部署几个模型”。但实际上,企业AI平台的本质是“技术与业务的连接生态”:根据Gartner的报告,80%的企业AI项目失

AI 原生应用开发的博客 709

[蓝桥杯][2018年第九届真题]全球变暖

题目链接:全球变暖 解题思路:当遇到陆地时就宽搜这块陆地,每一块陆地判断周边是否有海,如果有海证明会被淹没,最后判断淹没的数量和这块陆地的大小是否相同,如果相同,那么证明这整块陆地已经被淹没 #include<bits/stdc++.h> #define x first #define y second #define mem1(h) memset(h,-1,sizeof h) #define mem0(h) memset(h,0,sizeof h) #define mcp(a,b) mem

一名蒟蒻的博客 397

ncl泰勒图(均方根误差、标准差、相关系数)

ncl泰勒图(均方根误差、标准差、相关系数)

weixin_61281699的博客 8006

工业缺陷检测的新范式:2025-2026年零样本检测技术全景扫描

摘要: 工业视觉领域面临缺陷样本稀缺、标注成本高等痛点,零样本缺陷检测(Zero-Shot Defect Detection)成为研究热点。2025-2026年的技术进展主要分为三类:1)视觉-语言模型(VLM)路线,如CLIP适配器跨域对齐热成像数据;2)数字孪生路线,通过CAD模型生成理想状态对比检测缺陷;3)基于CLIP的提示学习,如Crane模型通过上下文提示提升泛化能力。尽管实验室效果显著(如IoU达70%),但在真实工业场景(如MIRAD数据集)中性能平均下降29.78%,凸显跨域泛化仍是挑战。

blanokvaffy的博客 1144

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

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

yaosichengalpha的博客 791

Nsight Compute内存图表实战:如何快速定位CUDA内核的内存瓶颈(附配置截图)

本文详细介绍了如何使用Nsight Compute的Memory Chart功能快速定位和诊断CUDA内核中的内存性能瓶颈。通过解析内存图表中的逻辑与物理单元节点、连线颜色含义,并结合实战案例(如低L1缓存命中率、共享内存Bank冲突、全局内存访问未合并),指导开发者从可视化数据回溯至源代码,进行精准有效的内存访问优化,从而提升GPU程序性能。

zeta9的博客 479

【洛谷 P8662】[蓝桥杯 2018 省 AB] 全球变暖 题解(深度优先搜索+位集合)

你有一张某海域N×N像素的照片,表示海洋、其中 “上下左右” 四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。

HEX9CF的技术博客 1241

uniapp 开发小程序 使用 `uni.canvasToTempFilePath` 导出图片时遇到的 “fail fail canvas is empty“ 错误解决方法

问题的关键在于,在调用时需要正确的上下文对象。如果没有传入this(vue2)或instance(vue3),就会导致导出失败,提示错误。这也提醒我们,在使用类似这样的 API 时,要确保上下文传递正确,以便函数能够正常执行。希望这个排查过程和解决方案能帮助你解决类似的问题!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2331

上位机1000条/秒数据不丢不卡:SQLite持久化队列最优方案实战

在上位机每秒1000条、1MB数据的场景下,SQLite做持久化队列是最优解可靠性拉满,ACID事务+WAL模式保证绝对不丢数据;性能完全够用,优化后每秒几千条没问题;轻量无依赖,只有一个.db文件;C#/.NET原生支持,代码简单易维护。只要按照上面的优化点和代码实现,完全能满足工业现场的需求,不用再担心数据丢失、存储卡采集的问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 484

I. 全球变暖(23分)【dfs】【蓝桥杯】

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。错因:一个岛屿部分淹没后可能会生成多个岛屿,答案并不是前后岛屿数量作差。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。照片保证第 1 行、第 1 列、第。【第九届】【省赛】【B组】列代表一张海域照片。输出一个整数表示答案。

weixin_49320014的博客 876

Pointnet++改进90:2025最新改进模块-EVA模块

本教程提出了一种改进PointNet++特征提取模块的方法,通过在PointNetSetAbstraction模块中加入NAMAttention注意力机制,显著提升了模型性能。具体改进包括:1)新建eva.py文件,实现了包含SDLSKA、CKS等关键组件的EVA模块;2)在pointnet2_utils.py中添加Conv和PointNetSetAbstractionAttention类,整合注意力机制;3)修改pointnet2_sem_seg.py模型结构。这种改进方法降低了实现难度,同时保持了33F

AIcurator的博客 361

2018省赛第九届蓝桥杯真题C++/C B组 全球变暖详细题解(BFS)

题目和代码借鉴了:2018省赛第九届蓝桥杯真题C语言B组第九题题解 全球变暖_nka_kun的博客-优快云博客w 我在这里将其代码做了详细的注解 大家不懂连通性的可以先看一下这篇文章: 判断图的连通性的三种方法:DFS、BFS 和并查集_J先生的编程笔记的博客-优快云博客_图的连通性判断 代码和注解如下: /** 全球变暖 你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###

qq_53690975的博客 491

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

2018年第九届蓝桥杯【C++省赛B组】【第九题:全球变暖】——广搜BFS解法,附解题代码

2018年第九届蓝桥杯题目汇总 https://blog.youkuaiyun.com/qq_34202873/article/details/79784728 第九题 标题:全球变暖 你有一张某海域NxN像素的照片,”.”表示海洋、”#”表示陆地,如下所示: ……. .##…. .##…. ….##. ..####. …###. ……. 其中”上下左右”四个方...

老陈聊架构 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

全球变暖详细题解(蓝桥杯bfs)

题目描述 全球变暖 你有一张某海域 N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示: … .##… .##… …##. …####. …###. … 其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2 座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。 具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。 例如上图中的海域未来会变成如下样子: … … … … …#… … … 请你计算:依照科学家

weixin_50686532的博客 3107

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

蓝桥杯每日一真题——[蓝桥杯 2018 省 AB] 全球变暖

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。其中 “上下左右” 四个方向上连在一起的一片陆地组成一座岛屿。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。时限 1 秒, 256M。蓝桥杯 2018 年第九届省赛。列代表一张海域照片。

c0re的博客 694

第九届蓝桥杯省赛C语言A8:全球变暖

题目描述: 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: . . . . . . . . # # . . . . . # # . . . . . . . . # # . . . # # # # . . . . # # # . . . . . . . . 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素

KI的博客 7万+

蓝桥杯精选赛题算法系列——全球变暖——BFS

已收录此专栏。 我们先来举个例子来了解一下BFS的原理: 以老鼠走迷宫为例,迷宫内的路错综复杂,老鼠从入口进去后,怎么才能找到出口? BFS:一群老鼠走迷宫。假设老鼠无限多,这群老鼠进去后,在每个路口,都派出部分老鼠探索所有没走过的路。走某条路的老鼠,如果碰壁无法前行,就停下;如果到达的路口已经有别的老鼠探索过了,也停下。很显然,在遇到出口前,所有的道路都会走到,而且不会重复。这个思路就是 BFS。 在具体编程时,一般用队列这种数据结构来实现 BFS ,即 “BFS = 队列”;而 DFS 一般用递归实现,

wzy的博客 9630

全球变暖 BFS非递归【蓝桥杯真题】(c++实现)

全球变暖 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: … .##… .##… …##. …####. …###. … 1 2 3 4 5 6 7 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像 素与海洋相邻(上下左右四个相邻...

weixin_44077556的博客 2万+

蓝桥杯第九届省赛-全球变暖(DFS和BFS实现)

蓝桥杯第九届省赛-全球变暖 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: … .##… .##… …##. …####. …###. … 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。 例如上图中的海域未来会变成如下样子: … … … … …#… … … 请你计算:依照科学家的

weixin_46610759的博客 481

[蓝桥杯2018初赛]全球变暖

1365: [蓝桥杯2018初赛]全球变暖 时间限制: 1 Sec 内存限制: 256 MB 提交: 652 解决: 108 [状态] [提交] [命题人:外部导入] 题目描述 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连...

淋雨一直走的博客 783

全球变暖(蓝桥杯2018年省赛B组试题I)(C/C++)

全球变暖(蓝桥杯2018年省赛B组试题I)(C/C++)

m0_71934846的博客 4247

2018蓝桥杯省赛B组-9.全球变暖

标题:全球变暖 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: … .##… .##… …##. …####. …###. … 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被...

yzhhh的博客 259

蓝桥杯2018年第九届C/C++ B组省赛习题题解

蓝桥杯2018年第九届C/C++ B组省赛习题题解

lihua777的博客 8615

【蓝桥杯真题】全球变暖

文章目录全球变暖(2018年第九届蓝桥杯JavaA组省赛 第八题)个人解法 全球变暖(2018年第九届蓝桥杯JavaA组省赛 第八题) 【题目描述】 你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示: … .##… .##… …##. …####. …###. … 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。 具体来说如果一块陆地像素与海洋相邻(上下左右四个相

衣点QIAO的博客 2455
上一篇: (2018蓝桥省赛)递增三元组
下一篇: POJ-2456疯牛(二分搜索+最小值最大化)
donCoder
博客等级 码龄9年 65粉丝 79原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值