#P15171. [SWERC 2022] Vittorio Plays with LEGO Bricks
[SWERC 2022] Vittorio Plays with LEGO Bricks
说明
Vittorio 正在玩他的新 LEGO Duplo 积木。所有积木都是底面为 的正方体长方体,高为 。它们可以在三维空间中搭建结构,但需要满足以下规则:
- 任何两个积木不能相交,但可以在面上接触。
- 每个积木的所有顶点坐标都必须是整数(即积木与坐标轴对齐),且所有顶点的 坐标都必须是非负数。
- 每个积木的正方形底面必须与地面(即平面 )平行。
- 任何不接触地面的积木,其下底面必须与其他某个积木的上底面在正面积区域内接触(这样两个积木可以通过小凸起连接在一起)。
例如,下图是一个合法的结构:
:::align{center}

:::
Vittorio 想要搭建一个结构,其中紫色积木放在以下 个位置:,,,——这些是它们下底面中心的坐标;注意所有这些积木的 坐标都是 , 坐标都是 。Vittorio 可以使用其他颜色的积木来支撑紫色积木。他只愿意把积木放在下底面中心 坐标为 的位置。请问最少需要多少个额外的积木来支撑紫色积木?
可以证明,总是存在一种合法的搭建方式。
输入格式
第一行包含两个整数 和 (,),表示紫色积木的数量和它们共同的 坐标。
第二行包含 个整数 (,),表示紫色积木的 坐标(底面中心),按递增顺序给出。
输出格式
输出所需的最少额外积木数量。
4 0
2 7 11 13
0
4 1
2 7 11 13
3
4 100
2 7 11 13
107
4 3
2 5 8 11
8
提示
在第一个样例中,所有紫色积木都在地面上,因此不需要额外的积木。
在第二个样例中,Vittorio 需要在紫色积木下方放置支撑积木,并且可以用一个积木同时支撑第三个和第四个紫色积木。例如,他可以在 、 和 处放置额外积木。可以证明,无法用少于 个额外积木搭建出合法结构。
在第四个样例中,最少额外积木的搭建方式如题目描述中的图片所示。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号