#P1907. 连接6(ABC241C-Connect 6)

连接6(ABC241C-Connect 6)

Description

小高有一个N×N的网格,每个方格要么是黑色要么是白色。网格的状态由 N 个字符串 S~i~ 表示。如果 S~i~ 的第 j 个字符是 '#',则从上往下第 i 行、从左往右第 j 列的方格是黑色的。如果是 '.',则该方格是白色的。小高最多可以选择两个白色方格并将它们涂成黑色。判断是否可能使网格中出现 6 个或更多连续的黑色方格,这些方格可以是垂直、水平或对角线排列的。这里,如果 N×N 的网格完全包含一个 6 × 6 的子网格,且该子网格的至少一条对角线上的所有方格都是黑色的,则认为网格中出现了对角线排列的 6 个或更多连续的黑色方格。

Input Format

输入从标准输入中给出,格式如下: N S~1~ S~2~ ⋮ S~N~

Output Format

如果通过涂黑最多两个方格可以满足条件,则输出 "Yes";否则,输出 "No"。

8
........
........
.#.##.#.
........
........
........
........
........
Yes
6
######
######
######
######
######
######
Yes
10
..........
#..##.....
..........
..........
....#.....
....#.....
.#...#..#.
..........
..........
..........
No

Hint

数据范围与提示 【样例1说明】 通过将第 3 行从左数第 3 个和第 6 个方格涂黑,可以使水平方向上出现 6 个连续的黑色方格。 【样例2说明】 虽然小高不能选择任何方格涂黑,但网格已经满足条件。 【数据范围】 6≤N≤1000,∣S~i~∣=N, S~i~仅由 '#' 和 '.' 组成。