问题 B: 找多边形

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:28 解决:4

题目描述

有一个$N$行$M$列的矩阵,令$(i,j)$表示第矩阵的第$i$行,第$j$列。若$S_{i,j}$为#代表$(i,j)$位置为黑色,如果为$.$则为白色。数据可以保证矩阵的最外层全为白色。你可以把黑色的部分看成一个多边形,你需要找出这个多边形有几条边(最少)。
数据中保证黑色的位置形成的多边形是不会自交的。进一步解释:
最少有一个位置被涂成黑色
我们可以从一个黑色的位置到达其他任意黑色的位置(通过上下左右移动)
我们可以从一个白色的位置到达其他任意白色的位置(通过上下左右移动)。


输入

$N$  $M$
$N$行$M$列的矩阵。
$3<=N<=10$
$3<=M<=10$
$S_{i,j}$为#或$.$


输出

最小的数$n$,使得黑色的部分可以看成$n$边形。

样例输入 复制

5 5
.....
.###.
.###.
.###.
.....

样例输出 复制

4