#239. 谜题

谜题

问题描述

在网格镇的神秘地带,发现了一块古老的游戏棋盘。棋盘由 N×NN \times N 的网格组成,每个格子用 #. 标记。居民相信,这块棋盘隐藏着打开远古宝藏的秘密。然而,必须解开它的谜题:如何在棋盘上水平、垂直或对角线上连续地连接六个 # 标记。

有一天,探险者阿列克斯来到这里。他注意到棋盘上部分格子已经标记为 #,而其他格子是空的(用 . 表示)。为了破解谜题,阿列克斯被允许在最多两个空格子上添加 # 标记。现在的挑战是确定是否能够通过这两次操作创建“六连”并解锁这个远古棋局的奥秘。

输入

第一行输入一个整数 NN,表示棋盘的大小。

接下来输入 NN 个字符串 S1,S2,...,SNS_1, S_2, ..., S_N,每个字符串代表棋盘的一行。# 表示已经标记的格子,. 表示空格子。

输出

如果通过最多两次操作可以完成“六连”,输出 Yes;否则,输出 No

示例

6
...##.
......
##....
..##..
#....#
######
Yes

数据范围

  • 6N10006 \leq N \leq 1000
  • Si=N\lvert S_i\rvert =N
  • 字符只有 #.