#AT2087. C - Connect 6
C - Connect 6
当前没有测试数据。
C - 连连看6
得分:300分
问题描述
有一个 $N \times N$ 的网格,每个方格都被涂成黑色或白色。
网格的状态由 $N$ 个字符串 $S_i$ 表示。
如果 $S_i$ 的第 $j$ 个字符是 #
,表示从上往下数第 $i$ 行、从左往右数第 $j$ 列的方格是黑色的。
如果字符是 .
,表示方格是白色的。
高桥可以选择最多两个涂成白色的方格,并将它们涂成黑色。
确定是否有可能使得网格中连续涂黑的方格的数量达到或者超过 $6$,并且这些方格在垂直、水平或者对角线上是连在一起的。
这里,如果 $N$ 行 $N$ 列的网格完全包含一个 $6$ 行 $6$ 列的子网格,并且这个子网格的对角线上的所有方格都是黑色的,则称网格中包含了连续涂黑方格达到或者超过 $6$ 的情况。
约束
- $6 \leq N \leq 1000$
- $\lvert S_i\rvert =N$
- $S_i$ 由
#
和.
构成。
输入
从标准输入读入输入数据,输入格式如下:
输出
如果可以通过涂黑最多两个方格来满足条件,则输出 Yes
;否则,输出 No
。
8
........
........
.#.##.#.
........
........
........
........
........
Yes
通过将从上往下数第三行、从左往右数第三个和第六个方格涂黑,可以使得有连续 $6$ 个水平方向的方格被涂黑。
6
######
######
######
######
######
######
Yes
尽管高桥无法选择一个方格涂黑,但是网格已经满足了条件。
10
..........
#..##.....
..........
..........
....#.....
....#.....
.#...#..#.
..........
..........
..........
No