#agc017e. [agc017_e]Jigsaw
[agc017_e]Jigsaw
题目描述
我们有 个不规则的拼图块。每个拼图块由三个宽度为 、高度各异的矩形部分组成。具体而言:
- 第 块拼图由高度为 的一个部分组成,其左侧连接了高度为 的另一个部分,右侧连接了高度为 的另一个部分,如下图所示。这里,左侧和右侧部分的底边相对于中心部分的底边分别位于离上下边界 和 个单位长度处。
Snuke 正在将这些拼图块放在一张边长为 的正方形桌子上。在此过程中,必须满足以下条件:
- 所有拼图块都必须放在桌子上。
- 每个拼图块中心部分的底边必须与桌子的前面边界接触。
- 每个拼图块非中心部分的底边必须要么接触桌子的前面边界,要么接触其他拼图块的某个部分的上面边。
- 拼图块不能旋转或翻转。
确定是否可能进行这样的排列。
约束条件
- 输入的所有值都是整数。
输入
输入以以下格式从标准输入给出:
:
输出
如果可以在满足条件的情况下排列这些拼图块,则输出 YES
;如果不可能,则输出 NO
。
示例输入 1
3 4
1 1 0 0
2 2 0 1
3 3 1 0
示例输出 1
YES
下图显示了一种可能的排列方式。
示例输入 2
4 2
1 1 0 1
1 1 0 1
1 1 0 1
1 1 0 1
示例输出 2
NO
示例输入 3
10 4
1 1 0 3
2 3 2 0
1 2 3 0
2 1 0 0
3 2 0 2
1 1 3 0
3 2 0 0
1 3 2 0
1 1 1 3
2 3 0 0
示例输出 3
YES