#P9879. [EC Final 2021] Check Pattern is Good

    ID: 9228 远端评测题 10000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2021网络流Special JudgeO2优化ICPC

[EC Final 2021] Check Pattern is Good

Description

教授 Shou 得到了一个 (n×m)(n \times m) 的棋盘。一些格子被涂成了黑色,一些被涂成了白色,还有一些没有上色。

教授 Shou 喜欢棋盘图案,所以他想给所有未上色的格子涂色,并最大化棋盘上的棋盘图案数量。

如果四个形成一个 (2×2)(2 \times 2) 方格的单元格以以下任一种方式上色,则说它们形成了一个棋盘图案:

BW

WB

或者

WB

BW

这里的 W(在奇瓦语中是“wakuda”,意为黑色)表示格子被涂成了黑色,而 B(在科西嘉语中是“biancu”,意为白色)表示格子被涂成了白色。

Input Format

第一行包含一个整数 T(1T104)T (1 \leq T \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnm m (1n,m100)(1 \leq n, m \leq 100),表示棋盘的尺寸。

接下来的 nn 行每行包含 mm 个字符。第 ii 行的第 jj 个字符表示棋盘上第 ii 行和第 jj 列的格子的状态。如果格子被涂成了黑色,则字符为 W;如果格子被涂成了白色,则字符为 B;如果格子未上色,则字符为 ?

保证所有测试用例中 n×m n \times m 的总和不超过 10610^6

  • 只包含 B 和 W
  • 如果输入中的格子已经上色,则在输出中不能改变其颜色。
  • 棋盘图案的数量等于你打印的答案。

如果有多种解决方案,输出其中任何一种。

Output Format

对于每个测试用例,输出一行,包含棋盘上的最大棋盘图案数量。

3
2 2
??
??
3 3
BW?
W?B
?BW
3 3
BW?
W?W
?W?

1
WB
BW
1
BWB
WWB
BBW
4
BWB
WBW
BWB