AT_abc241_c [ABC241C] Connect 6
题目描述
有一个 $N$ 行 $N$ 列的格子,每个格子被涂成黑色或白色。
格子的状态由 $N$ 个字符串 $S_i$ 表示,第 $i$ 个字符串的第 $j$ 个字符为 `#` 表示从上往下第 $i$ 行、从左往右第 $j$ 列的格子被涂成黑色,为 `.` 表示被涂成白色。
高桥君可以选择至多 $2$ 个白色格子,将其涂成黑色。
请判断是否可以通过这种方式,使得存在 $6$ 个或以上连续的黑色格子,这些格子可以是竖直、水平或斜向(对角线)方向连续。
其中,斜向 $6$ 个或以上连续的黑色格子,指的是在 $N$ 行 $N$ 列的格子中,存在一个完全包含于格子中的 $6$ 行 $6$ 列的子格子,使得该子格子的至少一条对角线上所有格子都被涂成黑色。
输入格式
输入按以下格式从标准输入读入。
> $N$
> $S_1$
> $S_2$
> $\vdots$
> $S_N$
输出格式
如果可以通过至多 $2$ 次涂黑操作使得满足条件,则输出 `Yes`,否则输出 `No`。
说明/提示
## 限制
- $6 \leq N \leq 1000$
- $|S_i| = N$
- $S_i$ 仅由 `#` 和 `.` 组成。
## 样例解释 1
可以将第 $3$ 行第 $3$ 列和第 $3$ 行第 $6$ 列的格子涂黑,使得水平方向上有 $6$ 个连续的黑色格子。
## 样例解释 2
高桥君虽然不能再涂黑任何格子,但当前格子已经满足条件。
由 ChatGPT 4.1 翻译