问题3603--2015清明赛--最大区域草地

3603: 2015清明赛--最大区域草地

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

给定一个 W x H (1 <= W <=750; 1 <= H <=750)个单元组成的区域,每个单元内可能为石头或草地。 现在要找出有草地的最大的一个区域,一个单元如果为草地,另一个与它垂直相邻或水平相邻或对角相邻的草地我们认为它们属于同一区域。 在给定的地图中,'.'表示草地,'*'表示石头. 如下面一个10x8 的地图: ...*....** | 111*....** ...*2222** ...*....** ..**....** | 11**....** ..**2222** ..**....** ...*....** | 111*....** ...*2222** ...*....** ...**.*.** | 111**.*.** ...**2*2** ...**.*.** ***.**.*** | ***1**.*** ***.**2*** ***.**.*** ...**.*.** | 111**.*.** ...**2*2** ...**.*.** ...*.***** | 111*.***** ...*2***** ...*.***** ...***..** | 111***..** ...***..** ...***33** 第1个区域有21个单元;第2个区域有18个单元;第3个区域有2个单元。根据给定的地图,编程求出一个最大的区域的单元数,区域内每个单元均为草地。

输入

第一行:两个整数W 和 H 第2..H+1行:第 i+1行表示第i行的W个单元情况,每个用 '.' 或 '*'表示。

输出

一行:一个整数表示全为草地的最大区域的单元数

样例输入

10 8
...*....**
..**....**
...*....**
...**.*.**
***.**.***
...**.*.**
...*.*****
...***..**

样例输出

21

来源/分类

 

[提交] [状态]