#Q1040. 『方正如石 四角皆安』
『方正如石 四角皆安』
题目背景

正方形被吞噬露边角
题目描述
按照输入输出要求,输入三行字符串,表示二维矩阵的 的各单元格颜色,至多翻转一格颜色,使 存在一个 的同色正方形。
颜色编码:
- 'B': black, 黑色;
- 'W': white, 白色。
输出结果:
- 如果本身就存在 同色正方形, 则输出
Exist
; - 如果翻转一格颜色出现 同色正方形, 则输出
True
、翻转的单元格位置 (先行后列, 从索引0开始), 如果有多个单元格都能够实现, 则应输出行号较小, 其次是列号较小的单元格; - 如果无法实现, 则输出
False
、当前白色单元格的数量和黑色单元格的数量,用空格隔开。
输入要求
输入三行,包含三个字符串数, 表示 矩阵各单元格的颜色。
输出要求
按照输出结果输出。
样例
BWB
BWW
BWB
True 0 2
BWB
WBW
BWB
False 4 5
BWB
BWW
BWW
Exist
样例说明
样例一
输入字符串为:
BWB
BWW
BWB
对应的矩阵为:
对于该矩阵来说, 翻转第一行第三列或第三行第三列的单元格颜色后可以出现一个 的白色正方形, 因此应该输出 True 0 2
。
样例二
输入字符串为:
BWB
WBW
BWB
对应的矩阵为:
对于该矩阵来说, 无论翻转哪一个单元格都无法出现一个 的同色正方形, 因此应该输出 False 4 5
。
样例三
输入字符串为:
BWB
BWW
BWW
对应的矩阵为:
对于该矩阵来说, 本身已存在 的白色正方形, 因此应该输出 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
相关
在下列比赛中: