SSOJ 2316 面积【DFS/Flood Fill】
题目描述
编程计算由“1”号围成的下列图形的面积。面积计算方法是统计1号所围成的闭合曲线中点的数目。
如图所示,在10*10的二维数组中,“1”围住了15个点,因此面积为15.
题目大意:对于给定的10*10的01矩阵,请问有多少个0被1包围了?(包围是指不能由上下左右通向边缘)
本文来源于OIER博客,原文出处:http://www.oier.cc/ssoj2316%E9%9D%A2%E7%A7%AF/
解题思路 图形学中Flood Fill是满水法填充,是用来填充区域的。就好比在一个地方一直到水,水会往四周满延开,直到高地阻挡。Flood Fill就是从一个点开始往四周寻找相同的点填充,直到有不同的点为止。 Flood Fill既可以用深度优先搜索实现,也可以用广度优先搜索实现,由于每个点只会被访问一次,两种算法的时间复杂度差不多。 本题中,要求被1包围的0有多少个,那么我们可以把没被1包围的0全部都填充成1,最后再数一下有多少个1即可。 什么是没被1包围的0?边缘的0都是没被包围的,只有与边缘的0相连就不被包围。因此,我们可以搜索每个边缘的0,并将他以及与他相连的0全部变为1。 小技巧:在读入数据之前,让mp数组各个元素都是非0,这样即使搜索到了mp[0][i]或者mp[i][0],也不会走出地图,因为遇到0才继续走。
本文来源于OIER博客,原文出处:http://www.oier.cc/ssoj2316%E9%9D%A2%E7%A7%AF/
转载于:https://www.cnblogs.com/Roni-i/p/7821537.html
SSOJ 2316 面积【DFS/Flood Fill】相关推荐
- Openjudge1388 Lake Counting【DFS/Flood Fill】
http://blog.csdn.net/c20182030/article/details/52327948 1388:Lake Counting 总时间限制: 1000ms 内存限制: 65 ...
- HDU 6113 度度熊的01世界【DFS/Flood Fill】
度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- AcWing 1113. 红与黑【《信息学奥赛一本通》】【DFS】【BFS】【Flood Fill】
AcWing 1113. 红与黑 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 解法一(BFS): 解法二(DFS): 四.其它题解 一.题目链接 AcWing 1113. ...
- 算法提高课学习——2.搜索——2.1.Flood Fill算法
Flood Fill Flood Fill算法用于求图中的连通块数量,一般用BFS实现,不过也可以使用DFS来实现,更加简洁,但同时也可能会有爆栈的风险 对于图中的任意一个点,我们从该点出发标记它所有 ...
- usaco The Castle(flood fill)
问题:城堡有n*m个方块组成,方块四周可能有墙,分别用1(W),2(N),4(E),8(S)来表示,每个方块由一个数字来表示,由四周的分布的墙值和来表示.要求求出城堡有多少个房间,最大房间的大小及删除 ...
- 算法提高课-搜索-Flood fill算法-AcWing 1098. 城堡问题:flood fill、bfs
题目分析 来源:acwing 分析:找房间个数,也就是找连通的个数. 样例画出来的房间个数如下图:其中'|' 和'-'不是墙,只有#是墙. 分析:这题不用建图,直接bfs(flood fill)来做, ...
- 常见算法之Flood Fill算法
常见算法之Flood Fill算法 算法介绍 基本作用:寻找连通块 基本方法:BFS搜索 适用题目:需要找出分类块的题目/一些聚类问题 顾名思义,Flood Fill算法就是像洪水泛滥一样去寻找周围符 ...
- 红与黑 ( Flood fill 算法 (针对网格题) )
题目描述 有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖. 你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动. 请写一个程序,计算你总共能够到达多少块黑色的瓷砖. ...
- BFS——Flood Fill模型及最短路模型
文章目录 Flood Fill模型 概述 模板 池塘计数 城堡问题 山峰和山谷 最短路模型 概述 迷宫问题 武士风度的牛 抓住那头牛 总结 Flood Fill模型 概述 定义 从一个起始节点开始把附 ...
最新文章
- blockUI 使用小技巧
- 五项管理行动日志_迈向学习型组织,企业必须具备五项修炼
- 9.2 协同过滤-机器学习笔记-斯坦福吴恩达教授
- 滴水穿石-05数组排序
- (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计
- 八千字硬核长文梳理Linux内核概念及学习路线
- 黑客们的故事(连载三) 因为好奇
- C++ 获取char*的长度
- SpringBoot 2.x 集成Redis
- java 流已被关闭_mybatis oracle java.sql.SQLException: 流已被关闭问题
- 计算机学院实验室安全管理办法,江苏大学计算机学院实验室安全管理制度
- html 5个人博客代码模板,5套漂亮的个人博客html模板分享
- vue3警告Extraneous non-emits event listeners (XXX) were passed to component but could not be automatic
- [python]一个特别好的学习python网站
- Pandas基础操作(上)
- Java项目:毕业设计管理系统(java+SSM+jsp+mysql+maven)
- flutter去除阻尼效果
- springboot物流配货管理系统java
- oracle 触发器冒号,触发器if else写法 oracle触发器
- 405074-81-9,ANW-29430,AG-F-43653杂环有机化合物
热门文章
- JUL文件中日志的打印
- 获取位置_原神手游新兵的徽记哪里刷 新兵的徽记获取位置分享
- 【2d游戏开发】unity实现UI框架搭建
- Arcgis:Workspace
- 任务进度更新:3月21日-4月10日 脚本编程、组装调试,套奶牛游戏初步完成
- Nexus 6P 解锁+刷机教程
- 计算机检测维修与数据恢复国赛培训班招生
- skynet源码分析之定时器skynet_timer.c
- java float.parsefloat_java.lang.Float.parseFloat()方法实例
- 系统工程理论与实践投稿经验_畜牧期刊发表服务最快最好网站_【100%录用和发表、万佳论文网】...