#abc191c. [abc191_c]Digital Graffiti

[abc191_c]Digital Graffiti

问题描述

我们有一个包含 HH 行和 WW 列的网格。设 (i,j)(i, j) 表示从上往下数第 ii 行、从左往右数第 jj 列的方格。
每个方格要么是黑色要么是白色。如果 Si,jS_{i, j}#,表示 (i,j)(i, j) 是黑色;如果 Si,jS_{i, j}.,表示 (i,j)(i, j) 是白色。
保证外围的方格都是白色。也就是说,能够表示成 (1,j)(1, j)(H,j)(H, j)(i,1)(i, 1)(i,W)(i, W) 的方格都是白色的。

考虑作为黑色部分的网格,它至少有多少条边?

这里保证被涂黑的部分形成了一个没有自交的多边形,即满足以下条件:

  • 至少有一个方格被涂黑;
  • 只经过黑色方格,可以在任意两个被涂黑的方格之间上下左右移动;
  • 只经过白色方格,可以在任意两个被涂白的方格之间上下左右移动。(注意网格的外围方格都是白色的)

约束条件

  • 3H103 \le H \le 10
  • 3W103 \le W \le 10
  • Si,jS_{i, j} 的值为 #.
  • S1,jS_{1, j}SH,jS_{H, j} 的值为 .
  • Si,1S_{i, 1}Si,WS_{i, W} 的值为 .
  • 被涂黑的部分形成了一个没有自交的多边形。

输入

从标准输入读入数据,输入格式如下:

HH WW S1,1S1,2S1,3S1,WS_{1, 1} S_{1, 2} S_{1, 3} \dots S_{1, W} S2,1S2,2S2,3S2,WS_{2, 1} S_{2, 2} S_{2, 3} \dots S_{2, W} S3,1S3,2S3,3S3,WS_{3, 1} S_{3, 2} S_{3, 3} \dots S_{3, W} \hspace{40pt} \vdots SH,1SH,2SH,3SH,WS_{H, 1} S_{H, 2} S_{H, 3} \dots S_{H, W}

输出

输出所涂黑色部分能够看成一个 nn 边形的最小边数 nn


示例输入 1

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

示例输出 1

4

如果我们使用一个坐标系统,其中网格的左上角、左下角、右上角和右下角分别是 (0,0)(0, 0)(H,0)(H, 0)(0,W)(0, W)(H,W)(H, W),给定的图形是一个四边形,其顶点分别是 (1,1)(1, 1)(4,1)(4, 1)(4,4)(4, 4)(1,4)(1, 4)