#aBC241Cid307. [ABC241C] Connect 6

[ABC241C] Connect 6

AT_abc241_c [ABC241C] Connect 6

题目描述

有一个 NNNN 列的格子,每个格子被涂成黑色或白色。
格子的状态由 NN 个字符串 SiS_i 表示,第 ii 个字符串的第 jj 个字符为 # 表示从上往下第 ii 行、从左往右第 jj 列的格子被涂成黑色,为 . 表示被涂成白色。

高桥君可以选择至多 22 个白色格子,将其涂成黑色。
请判断是否可以通过这种方式,使得存在 66 个或以上连续的黑色格子,这些格子可以是竖直、水平或斜向(对角线)方向连续。
其中,斜向 66 个或以上连续的黑色格子,指的是在 NNNN 列的格子中,存在一个完全包含于格子中的 6666 列的子格子,使得该子格子的至少一条对角线上所有格子都被涂成黑色。

输入格式

输入按以下格式从标准输入读入。

NN
S1S_1
S2S_2
\vdots
SNS_N

输出格式

如果可以通过至多 22 次涂黑操作使得满足条件,则输出 Yes,否则输出 No

输入输出样例 #1

输入 #1

8
........
........
.#.##.#.
........
........
........
........
........

输出 #1

Yes

输入输出样例 #2

输入 #2

6
######
######
######
######
######
######

输出 #2

Yes

输入输出样例 #3

输入 #3

10
..........
#..##.....
..........
..........
....#.....
....#.....
.#...#..#.
..........
..........
..........

输出 #3

No

说明/提示

限制

  • 6N10006 \leq N \leq 1000
  • Si=N|S_i| = N
  • SiS_i 仅由 #. 组成。

样例解释 1

可以将第 33 行第 33 列和第 33 行第 66 列的格子涂黑,使得水平方向上有 66 个连续的黑色格子。

样例解释 2

高桥君虽然不能再涂黑任何格子,但当前格子已经满足条件。

由 ChatGPT 4.1 翻译