问题 4766 --白变黑

4766: 白变黑★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 42  解决: 24
[提交][状态][命题人:]

题目描述

有一个n行和m列的网格。一些单元是黑色的,其余的单元是白色的。

在一个操作中,您可以选择某一个黑色单元格,并精确地执行以下操作之一:

•将其行中的所有单元格涂成黑色,或

•将其列中的所有单元格涂成黑色。

你有两个整数rc。查找使rc列中的单元格变黑所需的最小操作数量,或确定这是不可能的

输入

由多个测试用例组成。第一行包含一个整数t1 <t <100t为测试用例的数量。描述测试用例如下: 

每个测试用例的第一行包含四个整数n(行数)、m(列数)、rc1 < nm < 50;1 < r < n;1 < c < m)需要将单元格分别变黑的行和列。 

然后是n行,每行都包含m个字符。每个字符要么是“B”或“W”,分别是黑白单元格

输出

对于每个测试用例,如果无法使rc列中的单元格变黑,则输出-1

否则,输出单个整数——使r行和c列中的单元格变黑所需的最小操作数。

样例输入
Copy
9
3 5 1 4
WBWWW
BBBWB
WWBBB
4 3 2 1
BWW
BBW
WBB
WWB
2 3 2 2
WWW
WWW
2 2 1 1
WW
WB
5 9 5 9
WWWWWWWWW
WBWBWBBBW
WBBBWWBWW
WBWBWBBBW
WWWWWWWWW
1 1 1 1
B
1 1 1 1
W
1 2 1 1
WB
2 1 1 1
W
B
样例输出
Copy
1
0
-1
2
2
0
-1
1
1

提示

如上图所示,针对样例1,我们选取第1行第2列的单元,然后将第1行全部变为黑色. 此时,第1行第4列全部变为黑色了。

针对样例2,第2行第1列已经全部是黑色.

针对样例3,不可能实现.

如上图所示:

针对样例3,我们选取第2行第2列的单元格,把第2列全部变黑.

然后我们选取第1行和第2列的单元格,把第1行全部变黑.

此时,第1行第1列全部变黑了.

来源

[提交][状态]