AT_abc322_d.[ABC322D] Polyomino

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

将若干个正方形通过边相连形成的连通多边形形状的拼图块称为 多连方块(ポリオミノ)。

现在有一个 44 行 44 列的网格,以及 33 个可以放入该网格的多连方块。
第 ii 个多连方块的形状由 1616 个字符 Pi,j,kP_{i,j,k}(1≤j,k≤41 \leq j, k \leq 4)表示。Pi,j,kP_{i,j,k} 表示将第 ii 个多连方块放在一个空网格上的状态,若 Pi,j,kP_{i,j,k} 为 #,则表示该多连方块覆盖了从上到下第 jj 行、从左到右第 kk 列的格子;若为 .,则表示未覆盖。请参考输入输出样例 11 的图示。

你需要将这 33 个多连方块全部铺在网格上,并满足以下所有条件:

  • 网格的所有格子都被多连方块覆盖。
  • 多连方块之间不能重叠。
  • 多连方块不能超出网格边界。
  • 多连方块可以任意平移和旋转,但不能翻转。

请判断是否存在一种方式,使得可以将这 33 个多连方块铺满整个网格,并满足上述条件。

输入格式

输入通过标准输入给出,格式如下:

P1,1,1P1,1,2P1,1,3P1,1,4P_{1,1,1}P_{1,1,2}P_{1,1,3}P_{1,1,4}
P1,2,1P1,2,2P1,2,3P1,2,4P_{1,2,1}P_{1,2,2}P_{1,2,3}P_{1,2,4}
P1,3,1P1,3,2P1,3,3P1,3,4P_{1,3,1}P_{1,3,2}P_{1,3,3}P_{1,3,4}
P1,4,1P1,4,2P1,4,3P1,4,4P_{1,4,1}P_{1,4,2}P_{1,4,3}P_{1,4,4}
P2,1,1P2,1,2P2,1,3P2,1,4P_{2,1,1}P_{2,1,2}P_{2,1,3}P_{2,1,4}
P2,2,1P2,2,2P2,2,3P2,2,4P_{2,2,1}P_{2,2,2}P_{2,2,3}P_{2,2,4}
P2,3,1P2,3,2P2,3,3P2,3,4P_{2,3,1}P_{2,3,2}P_{2,3,3}P_{2,3,4}
P2,4,1P2,4,2P2,4,3P2,4,4P_{2,4,1}P_{2,4,2}P_{2,4,3}P_{2,4,4}
P3,1,1P3,1,2P3,1,3P3,1,4P_{3,1,1}P_{3,1,2}P_{3,1,3}P_{3,1,4}
P3,2,1P3,2,2P3,2,3P3,2,4P_{3,2,1}P_{3,2,2}P_{3,2,3}P_{3,2,4}
P3,3,1P3,3,2P3,3,3P3,3,4P_{3,3,1}P_{3,3,2}P_{3,3,3}P_{3,3,4}
P3,4,1P3,4,2P3,4,3P3,4,4P_{3,4,1}P_{3,4,2}P_{3,4,3}P_{3,4,4}

输出格式

如果存在一种方式可以满足题目要求,将多连方块铺满网格,则输出 Yes;否则输出 No。

输入输出样例

  • 输入#1

    ....
    ###.
    .#..
    ....
    ....
    .###
    .##.
    ....
    ..#.
    .##.
    .##.
    .##.

    输出#1

    Yes
  • 输入#2

    ###.
    #.#.
    ##..
    ....
    ....
    ..#.
    ....
    ....
    ####
    ##..
    #...
    #...

    输出#2

    Yes
  • 输入#3

    ##..
    #..#
    ####
    ....
    ....
    ##..
    .##.
    ....
    .#..
    .#..
    .#..
    .#..

    输出#3

    No
  • 输入#4

    ....
    ..#.
    ....
    ....
    ....
    ..#.
    ....
    ....
    ....
    ..#.
    ....
    ....

    输出#4

    No
  • 输入#5

    ....
    ####
    #...
    #...
    ....
    ####
    ...#
    ..##
    ....
    ..##
    ..#.
    ..##

    输出#5

    No
  • 输入#6

    ###.
    .##.
    ..#.
    .###
    ....
    ...#
    ..##
    ...#
    ....
    #...
    #...
    #...

    输出#6

    Yes

说明/提示

限制条件

  • Pi,j,kP_{i,j,k} 只会是 # 或 .。
  • 给定的多连方块都是连通的。即,多连方块由正方形组成,这些正方形之间可以通过上下左右方向互相到达。
  • 给定的多连方块不会是空的。

样例解释 1

与输入样例 11 对应的多连方块形状如下图所示。
image1
在这种情况下,可以如下图所示地放置多连方块,使其满足题目要求。
image2
因此答案为 Yes。

样例解释 2

在输入样例 22 中,第 11 个多连方块的形状可能是带有空洞的多边形。

样例解释 3

请注意,铺放多连方块时,不能将其翻转。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页