#4178. D - Tiling 平铺 比赛编号345
D - Tiling 平铺 比赛编号345
题目翻译
时间限制: 2秒 / 内存限制: 1024MB
分数: 450分
问题描述
有一个 H 行 W 列的网格,每个格子的边长为 1,我们有 N 块瓷砖。第 i 块瓷砖的大小为 Aᵢ × Bᵢ(1 ≤ i ≤ N)。
现在,判断是否可以将这些瓷砖放置在网格中,使得满足以下所有条件:
- 每个格子恰好被一个瓷砖覆盖。
- 可以不使用一些瓷砖。
- 瓷砖可以旋转或翻转放置,但每块瓷砖必须与网格的边对齐,且不能超出网格范围。
输入格式
输入格式如下:
N
H W
A₁ B₁
A₂ B₂
…
Aₙ Bₙ
- N 为瓷砖的数量,满足 1 ≤ N ≤ 7。
- H 和 W 分别为网格的行数和列数,满足 1 ≤ H, W ≤ 10。
- 接下来的 N 行,每行包含两个整数 Aᵢ 和 Bᵢ,表示第 i 块瓷砖的尺寸,满足 1 ≤ Aᵢ, Bᵢ ≤ 10。
输出格式
如果可以将瓷砖放置在网格中并满足所有条件,输出 Yes;否则,输出 No。
示例输入 1
5
5 5
1 1
3 3
4 4
2 3
2 5
示例输出 1
Yes
示例说明
将第 2、第 4 和第 5 块瓷砖按如下方式放置,可以覆盖网格中的每个格子:
第2块瓷砖放在(1,1)到(3,3)的区域,覆盖了 3x3 的区域。
第4块瓷砖放在(3,3)到(4,5)的区域,覆盖了 2x3 的区域。
第5块瓷砖放在(4,5)到(5,5)的区域,覆盖了 1x1 的区域。
这三个瓷砖能够恰好覆盖整个 5x5 网格。
示例输入 2
3
3 3
2 2
3 3
1 1
示例输出 2
No
示例说明
对于这个网格,无法将所有瓷砖放置在网格中且每个格子都被覆盖。

因此,输出 Yes。
示例输入 2
1 1 2
2 3
示例输出 2
No
无法将瓷砖放置在网格内而不让其超出网格范围。
因此,输出 No。
示例输入 3
1 2 2
1 1
示例输出 3
No
无法用瓷砖覆盖所有格子。
因此,输出 No。
示例输入 4
5 3 3
1 1
2 2
2 2
2 2
2 2
示例输出 4
No
注意:每个格子必须恰好被一块瓷砖覆盖。