P13138 [GCJ 2018 #1A] Edgy Baking

题目描述

面包师 Mr. Maillard 已经将一些饼干面团擀平并切割,制作出了 $\mathbf{N}$ 块饼干,每块都是一个矩形。他正准备把它们放进烤箱时,突然想起饼干酥脆、焦糖化的边缘特别美味。具体来说,他认为如果所有饼干的周长之和尽可能接近 $\mathbf{P}$ 毫米(mm),且不超过 $\mathbf{P}$,他会最开心。(如果饼干的边太多,可能会烤焦!) 对于每块饼干,Mr. Maillard 可以选择保持原样,或者沿着一条直线将其一分为二(不一定是矩形),使得两部分面积相等。(注意,这样的切割必然经过饼干的中心。)通过这种方式切割后产生的两块新饼干不能再次切割。 如果 Mr. Maillard 做出最优决策,他能得到不超过 $\mathbf{P}$ 的最大周长和是多少?

输入格式

输入的第一行包含测试用例数 $\mathbf{T}$。接下来有 $\mathbf{T}$ 组测试数据。每组测试数据第一行为两个整数 $\mathbf{N}$ 和 $\mathbf{P}$,分别表示饼干的数量和期望的周长总和(单位:毫米)。接下来的 $\mathbf{N}$ 行,每行包含两个整数 $\mathbf{W}_{\mathbf{i}}$ 和 $\mathbf{H}_{\mathbf{i}}$,分别表示第 $i$ 块饼干的宽和高(单位:毫米)。

输出格式

对于每组测试数据,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是所有饼干(切割后)的最大可能周长和(单位:毫米),且不超过 $\mathbf{P}$。如果你的答案与正确答案的绝对误差或相对误差不超过 $10^{-6}$,则视为正确。关于误差的解释及可接受的实数格式,请参见 FAQ。

说明/提示

**样例解释** 注意,最后一个样例不会出现在测试集 1 中。 样例 1 中,只有一块边长为 1 的正方形饼干。Mr. Maillard 可以从一个角到对角线上的另一个角切割,得到两个直角三角形,每个三角形的边长为 1、1 和 $\sqrt 2$。此时周长和为 $4+2 \times \sqrt 2$,小于 $\mathbf{P}=7$,但无法更接近。 样例 2 中,Mr. Maillard 可以沿着第一块饼干的长边切割,得到两个 $25 \times 120$ 的矩形,第二块保持不变。总周长为 $580+340=920$,正好等于 $\mathbf{P}$。 样例 3 中,Mr. Maillard 可以将饼干切割成两个梯形,每个梯形的边长为 $2, 4, 5, 5$。此时新的周长和为 $32$,正好等于 $\mathbf{P}$。 样例 4 中,初始周长和正好等于 $\mathbf{P}$,因此不需要切割。 **数据范围** - $1 \leqslant \mathbf{T} \leqslant 100$。 - $1 \leqslant \mathbf{N} \leqslant 100$。 - $1 \leqslant \mathbf{W}_{\mathbf{i}} \leqslant 250$,对于所有 $i$。 - $1 \leqslant \mathbf{H}_{\mathbf{i}} \leqslant 250$,对于所有 $i$。 - $\mathbf{P} \geqslant 2 \times$ 所有 $\left(\mathbf{W}_{\mathbf{i}}+\mathbf{H}_{\mathbf{i}}\right)$ 的和。($\mathbf{P}$ 至少等于所有饼干未切割时的周长和。) - $\mathbf{P} \leqslant 10^{8}$。 **测试集 1(14 分,可见)** - $\mathbf{W}_{\mathbf{i}}=\mathbf{W}_{\mathbf{j}}$,对于所有 $i$ 和 $j$。 - $\mathbf{H}_{\mathbf{i}}=\mathbf{H}_{\mathbf{j}}$,对于所有 $i$ 和 $j$。 - (所有给定的饼干尺寸都相同。) **测试集 2(29 分,隐藏)** - 除一般限制外无其他限制。(特别地,给定的饼干尺寸不一定都相同。) 由 ChatGPT 4.1 翻译