//求一个地图中岛屿的个数
#include<iostream>
using namespace std;
const int N=1e3+9;
char mp[N][N];
int visit[N][N],color[N][N];
bool vis[N*N];
int scc=0;
int n;
//上下左右
int dx[]={0,0,-1,1};
int dy[]={1,-1,0,0};
bool inmp(int x,int y){
if(x>=1&&x<=n&&y<=n&&y>=1) return true;
else return false;
}
//实现从坐标(x,y)开始的深度搜索,要是(x,y)这个点可以驻足,那么就在这个地方标记一下,
//同时以这个点为根据点 ,往其他方向深度搜索,要是不可以驻足,那么就没有必要去标记,
//或者标记一下这个点不能去
void dfs(int x,int y){
if(!visit[x][y]&&mp[x][y]=='#'&&inmp(x,y)) {
visit[x][y]=1;
color[x][y]=scc;
for(int i=0;i<4;++i){
int nx=x+dx[i];
int ny=y+dy[i];
dfs(nx,ny);
//那个为什么不用回溯
}
}
}
int main(void){
cin>>n;
//输入地图
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
cin>>mp[i][j];
}
}
//开始遍历
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
//没有被染色同时还是一个岛屿
if(mp[i][j]=='#'&&color[i][j]==0){
scc++;
dfs(i,j);
}
}
}
cout<<scc;
return 0;
}
相关推荐
PaddleOCR 与 PaddleX 调试
本文介绍了PaddleOCR与PaddleX的安装调试过程及应用对比。首先详细说明了环境准备步骤,包括安装ccache、设置环境变量及创建conda虚拟环境,提供了精简安装和源码安装两种方式。接着展示了使用PaddleOCR进行发票和手写汉字识别的测试结果,指出部分手写识别存在误差。随后对比了两者的差异:PaddleOCR专注于OCR算法优化,PaddleX则提供全流程工具链和标准化部署方案。最后演示了如何通过PaddleX部署OCR服务,包括API启动方法和客户端调用示例,为开发者提供了两种不同场景下的O
岛屿问题(dfs典型问题求解)
这里就像一种蔓延效果,一旦找到1,就对这个数的四个子节点进行dfs操作,如果这个子节点在范围内,并且也是1,那么也进行同样的操作,以此类推,这样我们就将这个节点相邻的所有1的节点给改成了2,并且count++,这就是一个岛屿,最后将count返回就行。但是二叉树和网格是有区别的:二叉树有方向,而网格没有,所以会出现有节点被重复遍历的情况,因此,需要我们将每一个遍历过的岛屿节点设为2,每次遍历只遍历1的节点。对于这样的网格状问题,将0看成水,将1看成岛,进而可以出现类似的问题,比如求岛屿面积,周长等等。
电商产品组合策略:引流品与利润品的实战方法论
在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备
秋招LeetCode刷题Day2 -- DFS深度优先算法之岛屿专题
今天做了一系列岛屿相关的问题, 熟练掌握DFS算法模板如下// 操作// 操作// 淹没。
基于立创·天猛星MSPM0G3507的简易PID电机控制入门项目实战
本文详细介绍了基于立创·天猛星MSPM0G3507开发板的简易PID电机控制入门项目实战。从硬件选型、电路设计、PCB布局,到软件编程中的编码器读取、PID算法实现与调参,手把手教你完成一个带屏幕显示的电机定速与定距控制项目,是学习嵌入式开发和经典PID控制算法的绝佳实践。
windows10系统上安装最新版mysql 8.0详细步骤
windows10系统上安装最新版mysql 8.0详细步骤
DFS(二)岛屿问题合集
深度优先遍历处理岛屿问题:岛屿的周长、被围绕的区域、岛屿数量、岛屿的最大面积
【企业微信自建应用-前端篇】企业微信自建应用开发流程详细介绍
最近接到需求,需要我在企业微信端自建一个应用,用来接受PC端派发的工单,告警,公告等内容。这里写一个帖子汇总一下我经历的全流程开发,当然这是基础的流程啊。因为功能要求也不高。后面如果开发更多的东西再补充。
面试热点题:LeetCode岛屿问题DFS 岛屿的数量、周长、最大面积
LeetCode 「岛屿问题」DFS 岛屿的数量、周长、最大面积 了解在网格结构中如何使用DFS 深入浅出 简单易懂
30、优化算法在芯片布局与药物设计中的应用
本文探讨了优化算法在芯片布局与药物设计中的关键应用。针对芯片布局问题,提出了一种改进的粒子群优化(PSO)方法,通过引入转向因子、重叠检测与消除机制以及优先处理约束模块,有效优化了芯片面积、线长和运行时间,并在有无布局约束条件下均优于传统方法。在药物设计领域,介绍了基于蚁群优化(ACO)的PLANTS算法,用于解决蛋白质-配体对接问题,通过离散化连续变量、信息素更新、局部搜索和聚类处理,提高了构象预测的准确性。文章还总结了两种算法的操作流程,并展望了未来在多约束集成与算法融合方向的发展潜力。
GeoXCP:可解释人工智能中空间解释的不确定性量化
GeoXCP: uncertainty quantification of spatial explanations in explainable AI提出基于保形预测(conformal prediction)的不确定性量化框架——地理空间解释保形预测(GeoXCP),将空间依赖纳入建模过程,生成具有校准不确定性估计的空间自适应解释。通过大量模拟实验和真实世界数据集验证,GeoXCP在不同地理空间场景中能提供可靠解释并有效量化不确定性,推动可解释地理空间机器学习的发展,帮助决策者评估模型驱动洞察的可信度。
深度优先搜索DFS:岛屿问题
深度优先搜索DFS:岛屿问题引言DNS实现的基本框架岛屿问题相关例题:求最大面积、求最大值 引言 DFS(深度优先搜索)问题通常是在树或者图结构上使用递归解决的一种常用算法。「网格」结构中也常常会使用到DFS算法来完成。岛屿问题是这类网格 DFS 问题的典型代表。 本文将以岛屿问题为例,展示网格类问题 DFS 通用思路。 网格问题通常是由n个小方格组成一个网格,每个小方格与其上下左右四个方格认为是相邻的,要在这样的网格上进行某种搜索。岛屿问题是一类典型的网格问题。每个格子中的数字可能是 0 或者 1。我们把
Python 爬虫实战:就业市场趋势数据抓取与行业洞察
在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。
LeetCode刷题笔记-岛屿问题 DFS
LeetCode刷题笔记-岛屿问题 LeetCode中有许多岛屿类问题,如以下题目: 200. 岛屿数量 463. 岛屿的周长 695. 岛屿的最大面积 827. 最大人工岛 这些题目基本上都是给一个二维数组作为网格,0为海洋1为陆地,然后要你求诸如岛屿最大数量面积周长等问题。 接下来讨论一下此类问题的一个通用解法-DFS。 以LeetCode200. 岛屿数量 为例: 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
【图论】(一)图论理论基础与岛屿问题
本文整理总结了图论相关理论基础知识,对比总结了深度搜索与广度搜索的区别与模板代码,整理图论中岛屿问题的一类题目,包括岛屿的数量与面积、孤岛的面积,沉没孤岛、建造最大人工岛等问题,同时通过水流问题体现岛屿问题在实际中的应用。
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
深度优先搜索(DFS)
深度优先搜索(DFS) 695.岛屿的最大面积 leetcode695 解题思路: 求地图的连通性、走迷宫问题,都可以通过DFS求解,类似的问题还有求岛屿数量、岛屿周长等。 常规套路,定义方向数组dir[][],有时是八个方向,有时候是四个方向。 八个方向:上下左右加对角 dir[8][2]={0,-1,-1,0,0,1,1,0,1,1,1,-1,-1,1,-1,-1} 四个方向:dir[4][2]={0,-1,-1,0,0,1,1,0,} class Solution { public: i
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
代码随想录Day51 99. 岛屿数量,99. 岛屿数量,100. 岛屿的最大面积。
代码随想录Day51 99. 岛屿数量,99. 岛屿数量,100. 岛屿的最大面积。
leetcode刷题日记———深度优先搜索(岛屿问题)
岛屿数量 题目描述:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 输入: 11000 11000 00100 00011 输出: 3 解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成 基本思路:深度优先搜索,遍历矩阵中所有为1的网格,然后dfs,这里将访问过的节点做标记,防止再次访问。 代码如下: class Solution:
岛屿数量问题(C实现)
岛屿数量问题,面试遇到,这里记录一下题目是这样的刚才整理代码的时候发现,原来是我没有理解完全,写错了,那现在来整理一下思路 题目是这样的 给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 ...
13 - 岛屿问题
岛屿问题 1. 岛屿的周长 2. 岛屿的数量 3. 岛屿的最大面积 我们所熟悉的 DFS(深度优先搜索)问题通常是在树或者图结构上进行的。而这篇博客的这三道题是在「网格」结构中进行的DFS。
深度优先搜索 2
从一个点开始,沿着某条路往下走,一直走到底(能深则深),如果走完后发现不能达到目标解,返回到上一个点(不能深则退),换条路,然后继续走到底,如此往复,直至所有可能的结果都被搜索完。这种能深则深,不能深则退的方法,称之为深度优先搜索简称DFS。
【Leetcode】【学习计划】【深度优先搜索】岛屿的最大面积
题目来源:https://leetcode-cn.com/problems/max-area-of-island/ 解题思路原文:https://leetcode-cn.com/problems/max-area-of-island/solution/biao-zhun-javadong-tai-gui-hua-jie-fa-100-by-mark-/ 题目 岛屿的最大面积 给你一个大小为 m x n 的二进制矩阵grid。 岛屿 是由一些相邻的 1 (代表土地)构成的组合,这里的「相邻」要求两个1.
代码随想录Day52 101. 孤岛的总面积,102. 沉没孤岛,103. 水流问题,104.建造最大岛屿。
代码随想录Day52 101. 孤岛的总面积,102. 沉没孤岛,103. 水流问题,104.建造最大岛屿。
LeetCode刷题总结 | 图论1—深度优先搜索&广度优先搜索&一些简单套模板问题
通常我们递归的时候,我们递归搜索需要了解哪些参数,其实也可以在写递归函数的时候,发现需要什么参数,再去补充就可以。一般情况,深搜需要二维数组数组结构保存所有路径,需要一维数组保存单一路径,这种保存结果的数组,我们可以定义一个全局变量,避免让我们的函数参数过多。
【LeetCode】岛屿(周长、数量、最大面积、封闭岛屿数)
【LeetCode】岛屿(周长、面积、数量) 岛屿的周长★ LeetCode463. 岛屿的周长 【题目】给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。 网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方
LeetCode 题解——岛屿数量
大家好,我是前端西瓜哥,今天我们做一道经典算法题——岛屿数量。 LeetCode 上对应题目为 200 题:https://leetcode-cn.com/problems/number-of-islands/ 这道题归属于岛屿问题,是有固定套路的,那就是 Flood fill 算法。 Flood fill 算法 Flood fill 算法是一种特殊的算法,它在一个区域内,从某个点开始往外扩散找到与其联通的所有点,最终获得一个区域块。 从一个点开始覆盖整个区域的过程,因很像洪水淹没一个岛屿的过程,所以被命
1452



被折叠的 条评论
为什么被折叠?



