/ Vijos / 题库 /

多边形识别

多边形识别

时间限制:1秒  内存限制:256M


【问题描述】

  在一张点阵图片上有若干个多边形,用 '.' 表示空白点,用 '*' 表示多边形轮廓上的一点,比如下图有一个三角形和一个矩形。
说明
  多边形的面积定义为内部 '.' 的个数,比如上图三角形的面积为9,而矩形的面积为30。

  现在给出点这图形的信息,请你变成识别其中有多少个多边形?

【输入格式】

  第一行为整数:\(N,M\),表示点整图形共有 \(N*M\) 个点。
  接下来 \(N\) 行,每行 \(M\) 个字符,表示点阵图形的信息,'.'表示空白点,用 '*' 表示多边形轮廓上的一点。注意:如果有多个多边形,那么它们之间一定都是相离的,即任意两个多边形都不会有公共点。

【输出格式】

  输出两行,第一行一个整数,表示多边形个数。第二行由大到小输出每个多边形的面积。

【输入输出样例】

 Input

8 24
..........************..
..........*..........*..
....*.....*..........*..
...*.*....*..........*..
..*...*...************..
.*.....*................
*********...............
........................

 Output

2
9 30

【数据限制】

  \(100\%\) 的数据:\(1 ≤ N,M ≤ 100\)。

【来源】

 Mr.he

信息

ID
3076
难度
9
分类
图结构 点击显示
标签
递交数
1
已通过
1
通过率
100%
上传者