#3189. Digital Graffiti

0

Digital Graffiti

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) 的方格是白色。 把被涂成黑色的部分看作一个多边形。它至少有多少条边? 这里保证被涂成黑色的部分构成一个无自交的多边形,即满足以下条件:

至少有一个方格被涂成黑色; 我们可以通过重复向上、向下、向左或向右移动且仅经过黑色方格,在任意两个被涂成黑色的方格之间移动; 我们可以通过重复向上、向下、向左或向右移动且仅经过白色方格,在任意两个被涂成白色的方格之间移动。(注意网格的最外侧方格都是白色。)

输入格式

输入从标准输入按如下格式给出: HH WW S1,1S1,2S1,3…S1,WS_{1, 1} S_{1, 2} S_{1, 3} \dots S_{1, W} S2,1S2,2S2,3…S2,WS_{2, 1} S_{2, 2} S_{2, 3} \dots S_{2, W} S3,1S3,2S3,3…S3,WS_{3, 1} S_{3, 2} S_{3, 3} \dots S_{3, W} ⋮\hspace{40pt} \vdots SH,1SH,2SH,3…SH,WS_{H, 1} S_{H, 2} S_{H, 3} \dots S_{H, W}

输出格式

输出最小的整数 nn,使得被涂成黑色的部分可以被视为一个 nn 边形。

5 5
.....
.###.
.###.
.###.
.....
4

提示

3≤H≤103 \le H \le 10 3≤W≤103 \le W \le 10 Si,jS_{i, j} 是 # 或 ..。 S1,jS_{1, j} 和 SH,jS_{H, j} 是 ..。 Si,1S_{i, 1} 和 Si,WS_{i, W} 是 ..。 被涂成黑色的部分构成一个无自交的多边形。如果我们使用一个坐标系,其中网格的左上、左下、右上和右下角分别是 (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) 的四边形。

标签: AtCoder|abc191C

来源

AtCoder|abc191C