AT_abc322_d.[ABC322D] Polyomino
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
将若干个正方形通过边相连形成的连通多边形形状的拼图块称为 多连方块(ポリオミノ)。
现在有一个 4 行 4 列的网格,以及 3 个可以放入该网格的多连方块。
第 i 个多连方块的形状由 16 个字符 Pi,j,k(1≤j,k≤4)表示。Pi,j,k 表示将第 i 个多连方块放在一个空网格上的状态,若 Pi,j,k 为 #,则表示该多连方块覆盖了从上到下第 j 行、从左到右第 k 列的格子;若为 .,则表示未覆盖。请参考输入输出样例 1 的图示。
你需要将这 3 个多连方块全部铺在网格上,并满足以下所有条件:
- 网格的所有格子都被多连方块覆盖。
- 多连方块之间不能重叠。
- 多连方块不能超出网格边界。
- 多连方块可以任意平移和旋转,但不能翻转。
请判断是否存在一种方式,使得可以将这 3 个多连方块铺满整个网格,并满足上述条件。
输入格式
输入通过标准输入给出,格式如下:
P1,1,1P1,1,2P1,1,3P1,1,4
P1,2,1P1,2,2P1,2,3P1,2,4
P1,3,1P1,3,2P1,3,3P1,3,4
P1,4,1P1,4,2P1,4,3P1,4,4
P2,1,1P2,1,2P2,1,3P2,1,4
P2,2,1P2,2,2P2,2,3P2,2,4
P2,3,1P2,3,2P2,3,3P2,3,4
P2,4,1P2,4,2P2,4,3P2,4,4
P3,1,1P3,1,2P3,1,3P3,1,4
P3,2,1P3,2,2P3,2,3P3,2,4
P3,3,1P3,3,2P3,3,3P3,3,4
P3,4,1P3,4,2P3,4,3P3,4,4
输出格式
如果存在一种方式可以满足题目要求,将多连方块铺满网格,则输出 Yes;否则输出 No。
输入输出样例
输入#1
.... ###. .#.. .... .... .### .##. .... ..#. .##. .##. .##.
输出#1
Yes
输入#2
###. #.#. ##.. .... .... ..#. .... .... #### ##.. #... #...
输出#2
Yes
输入#3
##.. #..# #### .... .... ##.. .##. .... .#.. .#.. .#.. .#..
输出#3
No
输入#4
.... ..#. .... .... .... ..#. .... .... .... ..#. .... ....
输出#4
No
输入#5
.... #### #... #... .... #### ...# ..## .... ..## ..#. ..##
输出#5
No
输入#6
###. .##. ..#. .### .... ...# ..## ...# .... #... #... #...
输出#6
Yes
说明/提示
限制条件
- Pi,j,k 只会是
#或.。 - 给定的多连方块都是连通的。即,多连方块由正方形组成,这些正方形之间可以通过上下左右方向互相到达。
- 给定的多连方块不会是空的。
样例解释 1
与输入样例 1 对应的多连方块形状如下图所示。

在这种情况下,可以如下图所示地放置多连方块,使其满足题目要求。

因此答案为 Yes。
样例解释 2
在输入样例 2 中,第 1 个多连方块的形状可能是带有空洞的多边形。
样例解释 3
请注意,铺放多连方块时,不能将其翻转。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?