#Q1040. 『方正如石 四角皆安』

『方正如石 四角皆安』

题目背景

正方形被吞噬露边角

题目描述

按照输入输出要求,输入三行字符串,表示二维矩阵的 gridgrid 的各单元格颜色,至多翻转一格颜色,使 gridgrid 存在一个 2×22\times2 的同色正方形。

颜色编码:

  • 'B': black, 黑色;
  • 'W': white, 白色。

输出结果:

  • 如果本身就存在 2×22\times2 同色正方形, 则输出 Exist;
  • 如果翻转一格颜色出现 2×22\times2 同色正方形, 则输出True、翻转的单元格位置 (先行后列, 从索引0开始), 如果有多个单元格都能够实现, 则应输出行号较小, 其次是列号较小的单元格;
  • 如果无法实现, 则输出False、当前白色单元格的数量和黑色单元格的数量,用空格隔开。

输入要求

输入三行,包含三个字符串数, 表示 3×33 \times 3 矩阵各单元格的颜色。

输出要求

按照输出结果输出。


样例

BWB
BWW
BWB
True 0 2
BWB
WBW
BWB
False 4 5
BWB
BWW
BWW
Exist

样例说明

样例一

输入字符串为:

BWB
BWW
BWB

对应的矩阵为:

对于该矩阵来说, 翻转第一行第三列或第三行第三列的单元格颜色后可以出现一个 2×22 \times 2 的白色正方形, 因此应该输出 True 0 2

样例二

输入字符串为:

BWB
WBW
BWB

对应的矩阵为:

对于该矩阵来说, 无论翻转哪一个单元格都无法出现一个 2×22 \times 2 的同色正方形, 因此应该输出 False 4 5

样例三

输入字符串为:

BWB
BWW
BWW

对应的矩阵为:

对于该矩阵来说, 本身已存在 2×22 \times 2 的白色正方形, 因此应该输出 Exist

提示

Python: 将读入的字符串分割成字符组成的列表, 如将'BWB'可以分割得到 ['B', 'W', 'B'],将三个分割得到的列表可以继续组成一个更大的列表, 如下:

a = ['B', 'W', 'B']
b = ['W', 'W', 'B']
c = ['W', 'B', 'B']
grid = [a, b, c]
print(grid[0][1])  # 输出第一行第二列的元素: W