E. 这儿有个大模拟

    传统题 1000ms 256MiB

这儿有个大模拟

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Time limit: 1 second

Memory limit: 256 megabytes

题目描述

Aiy 喜欢玩七巧板,而这天,她发现了一种新的 三巧板

三巧板 是一个 4×44 \times 4 的网格,网格内有三个由小正方形拼接而成的 零件,它们的边和网格平行。

你可以将这三个 零件 取出,并按下面的条件放入网格中,以完成拼图:

  • 网格的所有方格都被 零件 覆盖。
  • 零件 之间不能重叠。
  • 零件 不能超出网格范围。
  • 零件 可以自由平移。
  • 零件 可以以 90°90° 为单位旋转任意次,但不能翻转。

你可以帮 Aiy 判断 是否可以恰好用这三个 零件 将网格填满吗?

输入

输入包含 334×44 \times 4 的字符矩阵,以 1212 行长度为 44 的字符串给出。

Pi,j,kP_{i, j, k} 为第 ii 个字符矩阵的 (j,k)(j, k) 位置对应的字符,其意义如下:

ii零件 的形状由 1616 个字符 Pi,j,kP_{i,j,k}1j,k41 \leq j, k \leq 4)表示。它们描述了将第 ii零件 放置在网格上时的状态。如果 Pi,j,kP_{i, j, k}#,表示位于从上方数第 jj 行、从左侧数第 kk 列的方格被该 零件 覆盖;如果为 .,表示该方格未被覆盖。

输出

判断 是否可以恰好用这三个 零件 将网格填满,如果可以,则输出 Yes,否则输出 No

你可以以任何大小写形式输出 YesNo(比如说,yES, yesYES 都将被视为 Yes)。

限制

Pi,j,kP_{i, j, k}#.

保证每个 零件 连通,也就是说,每个组成 零件 的小正方形都至少有一条边和其他的小正方形重合。

保证 零件 都不为空。

....
###.
.#..
....
....
.###
.##.
....
..#.
.##.
.##.
.##.
Yes
###.
#.#.
##..
....
....
..#.
....
....
####
##..
#...
#...
Yes
##..
#..#
####
....
....
##..
.##.
....
.#..
.#..
.#..
.#..
No
....
..#.
....
....
....
..#.
....
....
....
..#.
....
....
No
....
####
#...
#...
....
####
...#
..##
....
..##
..#.
..##
No
###.
.##.
..#.
.###
....
...#
..##
...#
....
#...
#...
#...
Yes

样例解释

样例 11 的三个 零件 如下图所示:

image

在这种情况下,你可以按照下面的方案摆放:

image

样例 22 中,第一个 零件 有一个缺口,但依然是满足条件的。

样例 33 中,注意不可以翻转 零件

福建师范大学第27届低年级程序设计竞赛(热身赛 - 重现赛)

未参加
状态
已结束
规则
ACM/ICPC
题目
7
开始于
2023-12-23 17:00
结束于
2024-3-16 1:00
持续时间
2000 小时
主持人
参赛人数
38