CF389B.Fox and Cross

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Fox and Cross

题目描述

狐 Ciel 有一个包含 nnnn 列的棋盘,所以棋盘共有 n×nn \times n 个格子。每个格子中包含符号 . 或符号 #。

“十字”指的是棋盘中恰好五个格子组成的、形状如十字架的连通块,如下图所示:

Ciel 想要在棋盘上画若干个(可以为零)十字。每一个十字必须覆盖恰好五个包含 # 的格子,并且任意包含 # 的格子都必须属于某个十字。任意两个十字不能有重叠的格子。

请你判断 Ciel 是否能够如上所述地在棋盘上画十字。

输入格式

第一行包含一个整数 nn3n1003 \leq n \leq 100),表示棋盘的大小。

接下来的 nn 行,每行 nn 个字符,表示棋盘的每一行。每个字符为 . 或 #。

输出格式

输出一行,如果可以完全覆盖,输出 "YES"(不包含引号);否则输出 "NO"。

说明/提示

在样例 1 中,你可以画两个十字。如下图所示:

在样例 2 中,棋盘上共有 16 个 #,而每个十字要用掉 5 个,但 1616 不是 55 的倍数,所以无法完全覆盖所有 #。

由 ChatGPT 5 翻译

样例

5
.#...
####.
.####
...#.
.....
YES
4
####
####
####
####
NO
6
.#....
####..
.####.
.#.##.
######
.#..#.
YES
6
.#..#.
######
.####.
.####.
######
.#..#.
NO
3
...
...
...
YES

在线编程 IDE

建议全屏模式获得最佳体验