当前位置: 代码迷 >> C语言 >> [已解决]最大连续的面积。谢谢大家,特别是种子染色法。
  详细解决方案

[已解决]最大连续的面积。谢谢大家,特别是种子染色法。

热度:273   发布时间:2008-04-25 09:54:37.0
[已解决]最大连续的面积。谢谢大家,特别是种子染色法。
有一块空地,
...**
**.**
.**..
***..
..***
输出'*'连接在一起的最大面积.
上例中连接在一起的面积有两快,一块面积是4,另一块是10,
所以输出应该是10

看了这题,在纸上画了半天,一点思路也没有.....求大家给我个思路,等我写完了再贴代码上来.

这里先谢谢了!!

[[it] 本帖最后由 SNAKEQX 于 2008-4-29 13:45 编辑 [/it]]
搜索更多相关的解决方案: 面积  种子  染色  思路  

----------------解决方案--------------------------------------------------------
转化为图结构然后遍历一次?记下步数??
----------------解决方案--------------------------------------------------------
求连通图的结点数而已,这已经是图的结构,不需要转化

[color=white]
----------------解决方案--------------------------------------------------------
求连接图的结点数!OK,我试试!
----------------解决方案--------------------------------------------------------
图遍历:BFS(Breadth-First-Search)  

递归算法
procedure bfs(g:graph; i:integer);
var j:integer;
begin
for j:=1 to g.vexn do
          if 顶点j是i的邻接顶点并且未被访问过 then         
       访问顶点j
       置顶点j访问标记
       顶点j入队
    当队列不为空时,
     出队
         bfs(g,qu[front]);     
end;
----------------解决方案--------------------------------------------------------
楼上是delphi?图的广度遍历...
----------------解决方案--------------------------------------------------------
如果我做,我会用种子染色法
----------------解决方案--------------------------------------------------------
请问什么叫种子染色法?
另外请大家要对我严格点,不要贴代码,我会越来越懒得,本来就很懒了。。。。。。
谢谢:)

[[it] 本帖最后由 SNAKEQX 于 2008-4-26 09:26 编辑 [/it]]
----------------解决方案--------------------------------------------------------
种子染色法?貌似我们做图像处理的时候叫做种子填充法,这是一种简单理解的填充算法,不过效率不高。

做法是这样的,首先我们从一个起始点入手进行填充,看一下的例子
         *
        *o*
         *
o表示起始点进行填充探测,假定坐标(x,y),填充颜色为c,填充函数为seed_file()
我们可以进行递归探索:
seed_fill(x,y,c)
{
   如果(x,y)坐标处的颜色不为c
            1、填充(x,y)
            2、递归调用seed_fill探测(x,y)相邻的四个点,即(x+1,y), (x-1,y), (x,y+1), (x,y-1)
   否则
            返回
}
这种算法适合作用于填充区域较小的情况,因为效率实在太低了。

还有一种效率比较高的填充方法,使用割线交点,就是在目标图形上逐行画水平线条,计算与填充区域(即多边形)的交点以检测多边形的边界,这里与LZ的题目关系不大,不详细展开介绍了。
----------------解决方案--------------------------------------------------------
种子染色法效率为O(SIZEMAP) 即设图大小为m,n则,效率为O(mn),不算太低,可以应付本题
----------------解决方案--------------------------------------------------------
  相关解决方案