P13722 [GCPC 2024] Geometric Gridlock
题目描述
*Pentominous* 是一个基于十二种五连块(pentomino)的网格逻辑谜题。五连块是由五个大小相等的正方形通过边相连组成的多边形。
:::align{center}

图 G.1:十二种五连块(考虑镜像和旋转后唯一)及其名称。
:::
本谜题的目标是将一个网格划分为若干个大小为 $5$ 的区域(即五连块),使得任意两个有公共边的区域形状不同。
你可以旋转和翻转五连块,但这些旋转和翻转都算作同一种形状。
十二种可能的形状如图 G.1 所示。
在普通的 *Pentominous* 谜题中,玩家会被给出一些预填充的格子,这些格子的区域形状已经确定。
而在本题中,你需要处理一个完全空白、尺寸为 $h\times w$ 的网格,你的任务是构造任意一种合法的五连块划分方案。
输入格式
输入包含一行,包含两个整数 $h$ 和 $w$($1 \le h,w \le 100$),表示网格的高度和宽度。
输出格式
如果不存在合法的 $h\times w$ *Pentominous* 网格,输出“$\texttt{no}$”。
否则,输出“$\texttt{yes}$”,接下来输出 $h$ 行,每行 $w$ 个字符,表示一种可能的五连块划分方案,使用图 G.1 中的字母表示。
如果有多种方案,任意一种都可以。
说明/提示
:::align{center}
|  |  |  |
|:-:|:-:|:-:|
| 样例输出 1 的示意图。 | 样例输出 2 的示意图。 | 样例输出 4 的示意图。 |
| [](https://puzz.link/p?pentominous/10/10/s9967k09h77j4o4o1h157jbjbj00h87k30a8s) | [](https://puzz.link/p?pentominous/10/10/s5558k95h78j4o5o3o4o42h61k88a6s) |
|:-:|:-:|
| [](https://puzz.link/p?pentominous/10/10/r44a44k4j4j7j4j44454k4o3o4o4i47r) | [](https://puzz.link/p?pentominous/10/10/s3327k22h71j1o7l1h1l1h2o21h11k7337s) |
比赛结束后你可以尝试的 *Pentominous* 谜题示例。
:::
由 ChatGPT 4.1 翻译