种子填充(flood fill)
针对UVa 572
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 const int maxn = 100 + 5; 6 //m 行 n 列 7 // pic存图,idx就是visit数组 8 char pic[maxn][maxn]; 9 int m,n,idx[maxn][maxn]; 10 11 void dfs(int r,int c,int id) 12 { 13 if(r<0 || r>=m || c<0 || c>= n) return ;//出界 14 if(idx[r][c]>0 || pic[r][c]!='@') return ; 15 idx[r][c] = id;//连通分量编号 16 17 //下面的循环可以写一个方向数组进行修改 18 for(int dr = -1;dr <= 1;dr ++) 19 for(int dc = -1;dc <= 1;dc ++) 20 if(dr != 0 || dc != 0) 21 dfs(r+dr,c+dc,id); 22 } 23 24 25 26 int main() 27 { 28 while(scanf("%d%d",&m,&n) == 2 && m && n) 29 { 30 for(int i = 0;i < m;i ++) 31 scanf("%s",pic[i]); 32 memset(idx,0,sizeof(idx)); 33 int cnt = 0; 34 for(int i = 0;i < m;i ++) 35 { 36 for(int j = 0;j < n;j ++) 37 { 38 if(idx[i][j]==0&&pic[i][j] == '@') 39 { 40 dfs(i,j,++cnt); 41 } 42 } 43 } 44 cout << cnt << endl; 45 } 46 return 0; 47 }
转载于:https://www.cnblogs.com/Asurudo/p/9978937.html
种子填充(flood fill)相关推荐
- 洪水填充算法_洪水填充(Flood fill)算法
洪水填充(Flood fill)算法 从一个起始节点开始把附近与其连通的节点提取出或填充成不同颜色颜色,直到封闭区域内的所有节点都被处理过为止,是从一个区域中提取若干个连通的点与其他相邻区域区分开(或 ...
- 图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能
泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能.算法的原理很简单,就 ...
- 算法介绍 | 泛洪算法(Flood fill Algorithm)
算法别名: 漫水填充算法.种子填充算法(Seed Fill) 作用: 用于确定连接到多维数组中给定节点的区域,可以用来标记或者分离图像的一部分,实现如Ps中自动选区功能. 基本思想: 顾名思义就像洪水 ...
- 图形学初步--------种子填充算法
上篇博文讲到了填充算法的扫描线填充,这篇博文讲解另一大算法思路----------种子填充. 一.概念 种子填充算法假设在多边形或区域内部至少有一个像素是已知的.然后设法找到区域内所有其他像素,并对它 ...
- 【Algorithm】种子填充算法
转载:https://www.cnblogs.com/icmzn/p/5065306.html [平面区域填充算法]是计算机图形学领域的一个很重要的算法,区域填充即给出一个区域的边界 (也可以是没有边 ...
- C语言flood fill 泛洪算法(附完整源码)
C语言flood fill 泛洪算法 泛洪算法引出 C语言flood fill 泛洪算法完整源码(定义,实现,main函数测试) 泛洪算法引出 给定2D屏幕,像素的位置和要填充的颜色的新值,请用新颜色 ...
- opengl 区域填充之种子填充线扫描法
青岚影视 www.qldyy.net 在事先画好的一个区域内,使用区域填充之种子填充线扫描法将其填充完毕.同时带有鼠标和键盘事件,并添加了菜单.对于存在的改变窗口大小程序会出现问题还没有很好的解决,只 ...
- Flood fill algorithm
Flood fill算法是从一个区域中提取若干个连通的点与其他相邻区域区分开的经典算法.因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名.在GNU Go和扫雷中,Flood Fill算法被用来 ...
- 【OpenGL C++】画一个空心汉字和一个圆,并填充汉字(中点画线法,中点画圆法,种子填充法)
内容:画一个空心汉字和一个圆 设计一个画任意直线和圆的算法,可选所学的任一图形扫描转换算法(中点或bresenham算法),不能使用任何画线/画圆的API: 使用画线算法实现空心汉字的绘制,汉字必须为 ...
最新文章
- 【区块链与未来】区块链技术将重塑我们的世界
- 在单节点和多节点上的Hadoop设置
- Difference between CGLIB JDK Dynamic Proxies
- 《程序员代码面试指南》第五章 字符串问题 找到字符串的最长无重复字符子串...
- Rwordseg安装
- 使用java9的uuid生成方式,让uuid生成速度提升一个档次
- php生成随机汉字,PHP随机生成中文段落示例【测试网站内容时使用】
- php学习之路:WSDL详细解释(两)
- R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)
- 保研夏令营、考研复试个人升学简历模板与制作注意事项
- 关于2014年相关人脸检测识别的几个论文摘要翻译
- 中线提取算法_一种应用Visual Graph算法提取道路中线的专利_专利查询 - 天眼查...
- 多文件自平衡云传输 (六)番外篇 —————— 开开开山怪
- liferay的控制条docbar消失解决方法
- 遍历Python字典
- python中os.listdir的用法
- 几个opencv自带测试视频
- 最大熵模型(maximum entropy model)
- OpenCV 获取摄像头并显示摄像头视频
- 基础操作--Ubuntu常用命令