题目描述

编程计算由“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】相关推荐

  1. Openjudge1388 Lake Counting【DFS/Flood Fill】

    http://blog.csdn.net/c20182030/article/details/52327948 1388:Lake Counting 总时间限制:  1000ms  内存限制:  65 ...

  2. HDU 6113 度度熊的01世界【DFS/Flood Fill】

    度度熊的01世界 Accepts: 967 Submissions: 3064  Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...

  3. AcWing 1113. 红与黑【《信息学奥赛一本通》】【DFS】【BFS】【Flood Fill】

    AcWing 1113. 红与黑 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 解法一(BFS): 解法二(DFS): 四.其它题解 一.题目链接 AcWing 1113. ...

  4. 算法提高课学习——2.搜索——2.1.Flood Fill算法

    Flood Fill Flood Fill算法用于求图中的连通块数量,一般用BFS实现,不过也可以使用DFS来实现,更加简洁,但同时也可能会有爆栈的风险 对于图中的任意一个点,我们从该点出发标记它所有 ...

  5. usaco The Castle(flood fill)

    问题:城堡有n*m个方块组成,方块四周可能有墙,分别用1(W),2(N),4(E),8(S)来表示,每个方块由一个数字来表示,由四周的分布的墙值和来表示.要求求出城堡有多少个房间,最大房间的大小及删除 ...

  6. 算法提高课-搜索-Flood fill算法-AcWing 1098. 城堡问题:flood fill、bfs

    题目分析 来源:acwing 分析:找房间个数,也就是找连通的个数. 样例画出来的房间个数如下图:其中'|' 和'-'不是墙,只有#是墙. 分析:这题不用建图,直接bfs(flood fill)来做, ...

  7. 常见算法之Flood Fill算法

    常见算法之Flood Fill算法 算法介绍 基本作用:寻找连通块 基本方法:BFS搜索 适用题目:需要找出分类块的题目/一些聚类问题 顾名思义,Flood Fill算法就是像洪水泛滥一样去寻找周围符 ...

  8. 红与黑 ( Flood fill 算法 (针对网格题) )

    题目描述 有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖. 你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动. 请写一个程序,计算你总共能够到达多少块黑色的瓷砖. ...

  9. BFS——Flood Fill模型及最短路模型

    文章目录 Flood Fill模型 概述 模板 池塘计数 城堡问题 山峰和山谷 最短路模型 概述 迷宫问题 武士风度的牛 抓住那头牛 总结 Flood Fill模型 概述 定义 从一个起始节点开始把附 ...

最新文章

  1. blockUI 使用小技巧
  2. 五项管理行动日志_迈向学习型组织,企业必须具备五项修炼
  3. 9.2 协同过滤-机器学习笔记-斯坦福吴恩达教授
  4. 滴水穿石-05数组排序
  5. (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计
  6. 八千字硬核长文梳理Linux内核概念及学习路线
  7. 黑客们的故事(连载三) 因为好奇
  8. C++ 获取char*的长度
  9. SpringBoot 2.x 集成Redis
  10. java 流已被关闭_mybatis oracle java.sql.SQLException: 流已被关闭问题
  11. 计算机学院实验室安全管理办法,江苏大学计算机学院实验室安全管理制度
  12. html 5个人博客代码模板,5套漂亮的个人博客html模板分享
  13. vue3警告Extraneous non-emits event listeners (XXX) were passed to component but could not be automatic
  14. [python]一个特别好的学习python网站
  15. Pandas基础操作(上)
  16. Java项目:毕业设计管理系统(java+SSM+jsp+mysql+maven)
  17. flutter去除阻尼效果
  18. springboot物流配货管理系统java
  19. oracle 触发器冒号,触发器if else写法 oracle触发器
  20. 405074-81-9,ANW-29430,AG-F-43653杂环有机化合物

热门文章

  1. JUL文件中日志的打印
  2. 获取位置_原神手游新兵的徽记哪里刷 新兵的徽记获取位置分享
  3. 【2d游戏开发】unity实现UI框架搭建
  4. Arcgis:Workspace
  5. 任务进度更新:3月21日-4月10日 脚本编程、组装调试,套奶牛游戏初步完成
  6. Nexus 6P 解锁+刷机教程
  7. 计算机检测维修与数据恢复国赛培训班招生
  8. skynet源码分析之定时器skynet_timer.c
  9. java float.parsefloat_java.lang.Float.parseFloat()方法实例
  10. 系统工程理论与实践投稿经验_畜牧期刊发表服务最快最好网站_【100%录用和发表、万佳论文网】...