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

全球变暖 BFS

全球变暖

问题描述

给定一张 N×N 像素的海域照片,其中:

岛屿定义为上下左右四个方向上连通的陆地组成的区域。全球变暖导致岛屿边缘(即与海洋相邻的陆地)会被淹没。要求计算有多少岛屿会被完全淹没。

输入格式

输出格式

示例

输入:

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

输出:

1

运行限制

解题思路

1️⃣ 遍历整个地图

2️⃣ 遇到一个没访问过的 #
👉 用 BFS / DFS 找出这一整座岛

3️⃣ 在搜索这座岛时:

1.统计总格子数 total
2.统计“挨着海水的格子数” flood

4️⃣ 搜完一整座岛后判断:

如果 total == flood
👉 说明所有点都在边缘
👉 这座岛会被完全淹没 ✅

5️⃣ 统计这样的岛数量

#include<bits/stdc++.h>usingnamespacestd;intn;vector<string>g;vector<vector<bool>>vis;intdx[4]={1,-1,0,0};intdy[4]={0,0,1,-1};voidbfs(intsx,intsy,int&total,int&flood){queue<pair<int,int>>q;q.push({sx,sy});vis[sx][sy]=true;while(!q.empty()){auto[x,y]=q.front();q.pop();total++;boolisFlood=false;for(intd=0;d<4;d++){intnx=x+dx[d];intny=y+dy[d];if(nx<0||nx>=n||ny<0||ny>=n)continue;if(g[nx][ny]=='.'){isFlood=true;}if(g[nx][ny]=='#'&&!vis[nx][ny]){vis[nx][ny]=true;q.push({nx,ny});}}if(isFlood)flood++;}}intmain(){cin>>n;g.resize(n);for(inti=0;i<n;i++){cin>>g[i];}vis.assign(n,vector<bool>(n,false));intans=0;for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(g[i][j]=='#'&&!vis[i][j]){inttotal=0,flood=0;bfs(i,j,total,flood);if(total==flood){ans++;}}}}cout<<ans<<endl;return0;}
http://www.jsqmd.com/news/662928/

相关文章:

  • LabVIEW与S7-1200 PLC通信实战:5分钟搞定OPC Server配置(含避坑指南)
  • 从流水灯到通信协议:深入浅出聊聊移位寄存器在单片机与嵌入式里的那些实用场景
  • SuperMap iDesktopX 实战:三步解锁高德POI数据,赋能地理信息应用
  • HarmonyOS远程真机调试进阶:云测平台深度集成与自动化脚本实践
  • FPGA 差分时钟的两种高效转换与分频方案
  • 深入解析AT89S51单片机:硬件架构与40引脚功能全指南
  • 企业云盘文件预览技术深度剖析:从10种常见格式到渲染架构实战
  • 深入浅出因果树:从核心原理到产业落地的全景指南
  • 视觉化编程语言标识:50+高清图标库提升技术内容专业度
  • Vue3 + Element Plus 项目里,ECharts 5 四种常用图表从安装到上手的保姆级教程
  • 从ARM到RISC-V:CH32V307中断服务函数特殊关键字attribute((interrupt()))的深度解析
  • 别再被频谱图搞晕了!用MATLAB手把手教你理解图像傅里叶变换的频率中心化
  • 【智能代码生成时代生存指南】:3大依赖管理致命陷阱,90%的AI编程团队已在踩坑!
  • 从零构建BLE应用:深入解析服务、特征与UUID的实战指南
  • Android 列表滚动优化之 OverScroller 实战调优与性能剖析
  • 需求预测化技术中的时间序列回归分析与机器学习
  • 别再傻傻分不清了!5分钟搞懂线性电源和开关电源到底差在哪(附选型指南)
  • vxe-vxeTable利用vxe-colgroup实现复杂表头分组合并的视觉优化技巧
  • 20253909 2025-2026-2 《网络攻防实践》实践五报告
  • 2026年实测6款神器:高效降低论文AI率,AI率从90%降到10% - 降AI实验室
  • 为什么92%的AI编码团队在2026年Q1已启用动态回滚建议?,深度拆解奇点大会披露的实时语义追溯引擎架构
  • 提交的微观操作:add、commit、status、diff命令深度解析
  • 3分钟搞定!为Windows 11 LTSC系统恢复微软商店完整指南
  • 代码可维护性暴跌预警,从LLM生成到生产上线的6个静默风险点,运维团队已紧急封禁2类模板
  • 离散数学 - 集合论
  • 【音频隐写实战】MP3Stego核心命令解析与典型应用场景指南
  • 计算机毕业设计:Python农产品价格趋势预测与可视化大屏 Flask框架 Spark 线性回归 数据分析 可视化 大数据 大模型(建议收藏)✅
  • ARMv8.1-M:解锁微控制器性能与安全的新维度
  • CEEMDAN信号分解:从算法原理到MATLAB实战调优
  • STM32F103实战:用TB6612驱动步进电机,四种控制方式代码全解析(附GitHub仓库)