AT_utpc2025_h Heyawake-like Problem

题目描述

有一个 $ (3N+1) $ 行 $ (3N+1) $ 列的方格。请你判断是否可以将每个格子涂成「黑色」或「白色」,使其满足从下述所有条件。如果存在满足条件的涂色方案,请给出一种。 - 不同的黑色格子不能通过**边**相邻。 - 对于任意一个黑色格子,从它出发,只能经过**角**相邻的黑色格子(允许经过 $ 0 $ 次),都可以到达位于方格外周上的某一个黑色格子。 - 所有的白色格子需要整体连通。即对于任意两个白格,可以只经过**边**相邻的白格(允许经过 $ 0 $ 次),从一个格子走到另一个格子。 - 有 $ 2 $ 行各有 $ N+1 $ 个黑格,其余每行各有 $ N $ 个黑格。 - 有 $ 2 $ 列各有 $ N+1 $ 个黑格,其余每列各有 $ N $ 个黑格。

输入格式

输入从标准输入读取,格式如下: > $ N $

输出格式

如果不存在满足条件的涂色方案,请输出一行 `No`。否则,输出一种满足条件的方案。对于第 $ i $ 行第 $ j $ 列的格子,如果为白色则 $ a_{i,j} $ 为 `.`,如果为黑色则为 `#`。 > Yes > $ a_{1,1} \dots a_{1,3N+1} $ > $ \vdots $ > $ a_{3N+1,1} \dots a_{3N+1,3N+1} $ 若存在多个方案,输出任意一种均可。

说明/提示

### 样例说明 1 如下三个输出样例均为 $ N=1 $ 的输出格式,但因不满足题面条件,均判定为不正确。 ``` Yes ##.. #... ...# ..## ``` ``` Yes #.#. ...# #.#. .#.. ``` ``` Yes ...# .#.. ..#. #... ``` 第 1 个样例中,黑格通过边相邻。 第 2 个样例中,白格整体并不连通。 第 3 个样例中,不符合黑格个数的条件,且第 2 行第 2 列的黑格出发,无法通过角相邻的黑格到达外周的黑色格子。 已知 $ N=1 $ 时,不存在满足条件的涂色方案。 # 数据范围 - 输入均为整数 - $ 1 \leq N \leq 500 $ 由 ChatGPT 5 翻译