#684. 删除 2 x 2 ②
删除 2 x 2 ②
题目描述
有一个 的网格,每个格子被涂成白色或黑色。记第 行(从上往下,)、第 列(从左往右,)的格子为格子 。网格的状态由 个长度为 的字符串 给出:若 的第 个字符为 . 则格子 为白色;若为 # 则为黑色。
高桥先生 想把若干(可以为零)黑色格子重涂为白色,使得网格中不存在全部为黑色的 子方格。更精确地说,他想满足下面的条件:
- 对任意整数对 ( 且 ),格子 中至少有一个是白色。
请你求出使得上述目标成立所需重涂为白色的最少黑色格子数。
给出 个测试用例,请分别回答。
输入格式
-
第一行包含一个整数 ()——测试用例数。随后是 个测试用例。
-
每个测试用例先给出两个整数 和 ,
-
随后 行每行一个字符串 描述网格第 行。
输出格式
输出 行。第 行输出第 个测试用例的答案(所需重涂的最少格子数)。
样例输入
2
5 5
####.
##.##
#####
.####
##.#.
2 2
..
..
样例输出
3
0
说明
样例解释
- 对第一个测试用例,初始网格如题中所示。可以将例如图中标号的 个黑格涂成白色,使得不再存在全黑的 子方格。无法通过涂 个或更少的格子实现目标,因此输出 。
- 对第二个测试用例,网格已经满足条件(没有全黑的 子方格),因此答案为 。
数据范围
- 。
- 。
- 。
- 每个 是长度为 的字符串,只包含
.和#。 - 为整数。