AT_abc424_d.[ABC424D] 2x2 Erasing 2
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 H 行 W 列组成的网格,每个格子要么是白色,要么是黑色。
我们用第 i 行(自上而下,1≤i≤H)、第 j 列(自左而右,1≤j≤W)的格子,记作格子 (i,j)。
网格的状态由 H 个长度为 W 的字符串 S1,S2,…,SH 给出,每个字符串只包含字符 . 和 #。
如果 Si 的第 j 个字符是 .,则格子 (i,j) 是白色;如果是 #,则格子 (i,j) 是黑色。
高桥希望通过将一些黑色格子(可以为零个)变为白色,使整个网格中不存在仅由黑色格子组成的 2×2 子网格。更具体地说,要满足下面的条件:
对于任意整数对 (i,j),其中 1≤i≤H−1 且 1≤j≤W−1,在格子 (i,j)、(i,j+1)、(i+1,j) 和 (i+1,j+1) 中,至少有一个是白色的。
请计算至少需要将多少个黑色格子变为白色,才能使高桥达成目标。
输入包含 T 组测试用例。请分别输出每组测试用例的答案。
输入格式
输入按如下格式给出:
T
case1
case2
⋮
caseT
每组测试用例的格式为:
H W
S1
S2
⋮
SH
输出格式
输出 T 行,第 i 行(1≤i≤T)输出第 i 组测试用例的答案。
输入输出样例
输入#1
2 5 5 ####. ##.## ##### .#### ##.#. 2 2 .. ..
输出#1
3 0
说明/提示
样例解释 1
对于第一个测试用例,初始网格如下图左所示。
例如,将右图中标有数字的三个黑色格子变为白色即可满足条件。

无法通过涂白两格或更少格子就满足题意,所以第一组输出应为 3。
对于第二组测试用例,初始网格已经满足条件,因此输出 0。
数据范围
- 1≤T≤100
- 2≤H≤7
- 2≤W≤7
- 每个 Si 是长度为 W,由
.和#组成的字符串。 - T,H,W 均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?