问题 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$行$M$列的矩阵。
$3<=N<=10$
$3<=M<=10$
$S_{i,j}$为#或$.$
输出
最小的数$n$,使得黑色的部分可以看成$n$边形。
样例输入 复制
5 5
.....
.###.
.###.
.###.
.....
样例输出 复制
4