2112: 【入门】污染治理

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0  金币: 1
[提交][状态]

题目描述

某海域多个区域出现被石油污染的情况。当地的环保部门准备紧急投放环保材料来吸收漂浮在海面上的石油。 

为了解目前的污染情况,环保部门派一架无人机对该海域拍摄并绘制了一张n*m大小的地图,地图上标记为”~”的区域表示无污染的海域,标记为”*”的海域表示漂浮着石油的有污染的海域,上下左右四个方向相邻的有污染的海域可以称为是同一片污染海域。 

请你编程帮助环保部门计算一下,海面上共有多少片有污染的海域,被污染的总面积有多少,最大的被污染的海域面积有多大? 比如:有如下一张8*10的地图。通过该地图我们发现,有3片被污染的海域,面积依次为:4、9、5,被污染的总面积 = 4 + 5 + 9 = 18;最大的被污染海域的面积为9。


~*~~~~~~~~
~**~~***~~
~*~~~*~*~~
~~~~****~~
~~~~~~~~~~
~~***~~~~~
~~~**~~~~~
~~~~~~~~~~


输入

1行有2个整数nm,代表拍摄地图的大小。(3≤n,m100

接下来n行,每行有m个字符代表拍摄到的地图的值。

输出

输出三个整数,用空格隔开,分别代表有几片海域被污染了,被污染的总面积的值,以及最大的被污染海域的面积。

样例输入复制

8 10
~*~~~~~~~~
~**~~***~~
~*~~~*~*~~
~~~~****~~
~~~~~~~~~~
~~***~~~~~
~~~**~~~~~
~~~~~~~~~~

样例输出复制

3 18 9

来源

[提交][状态]