AT_utpc2020_h Grid Eraser

题目描述

umg 有一个 $H$ 行 $W$ 列的网格。这个网格中每个格子可以是白色或黑色。用 $S_{ij}$ 表示第 $i$ 行第 $j$ 列格子的颜色,其中 `.` 表示白色,`#` 表示黑色。umg 可以通过以下两种方式获得分数: 1. 如果第 $i$ 行的所有格子颜色相同,umg 可以删除这一行,获得 $1$ 分。删除后,如果存在的话,第 $i-1$ 行和第 $i+1$ 行会相连。 2. 如果第 $j$ 列的所有格子颜色相同,umg 可以删除这一列,获得 $1$ 分。删除后,如果存在的话,第 $j-1$ 列和第 $j+1$ 列会相连。 当网格中没有任何格子可供操作时,umg 将无法再进行任何操作。请问 umg 最多能够获得多少分?

输入格式

输入通过标准输入给出,格式如下: > $H$ $W$ $S_{11} \cdots S_{1W}$ $\vdots$ $S_{H1} \cdots S_{HW}$

输出格式

输出一个整数,表示 umg 可以获得的最大分数。

说明/提示

- $1 \leq H, W \leq 2000$ - $S_{ij}$ 仅可能为 `.` 或 `#` ### 举例说明 对于某个示例,umg 可以以以下步骤获得最多 $2$ 分: 1. 删除第 2 行获得 1 分,剩下的网格是: ``` .## ##. ``` 2. 删除第 2 列获得 1 分,最终网格变成: ``` .# #. ``` 此时无法再进行任何删除操作。 **本翻译由 AI 自动生成**