你是一个反抗邪恶银河帝国的反叛者,现在正在逃亡!
你破坏了帝国的邪恶工厂,帝国安全部队很快就会追上你!工厂位于 $N$ 个编号小行星系统中的 0 号小行星上。你的逃生飞船“世纪鹌鹑号”(Century Quail)位于 1 号小行星上,如果你能到达那里,就能安全飞离。
每颗小行星在太空中都是一个带有速度的质点,你随当前所在的小行星在太空中移动。你的“小行星跳跃器”允许你在系统中的任意两颗小行星之间瞬间跳跃。长距离跳跃比短距离跳跃更可怕(而且太空的真空环境令人恐惧),所以你希望最小化你需要跳跃的最大距离。然而,从现在开始,如果你在两次跳跃之间花费超过 $S$ 秒的连续时间,帝国安全部队就会抓住你。也就是说,从现在到第一次跳跃,以及后续每次跳跃之间的间隔,都必须小于或等于 $S$。你可以在任何时刻跳跃;不必在经过整数秒后才跳跃。当你跳跃到 1 号小行星时,你就逃脱了。
第 $i$ 号小行星在空间中的初始位置为 $(x_i, y_i, z_i)$,并且每秒移动的总距离为 $(V_{xi}, V_{yi}, V_{zi})$。这种运动在整个时间过程中是连续的;它不会每秒离散地更新。(小行星也可能是静止的。)如果小行星在同一时间占据空间中的同一点,什么也不会发生。你只能通过跳跃在两颗小行星之间旅行,即使它们在跳跃瞬间恰好占据同一点。
在最小化最大跳跃距离的逃生计划中,这个最大跳跃距离是多少?
输入格式
输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个整数:$N$(小行星的数量)和 $S$(你可以不跳跃的最长持续时间)。接下来有 $N$ 行描述小行星。这些行中的第 $i$ 行(从 0 开始计数)包含六个整数:第 $i$ 号小行星在空间中的初始位置 $(x_i, y_i, z_i)$,以及它在单秒内移动的距离 $(V_{xi}, V_{yi}, V_{zi})$。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是一个浮点数:为了逃脱你必须进行的最长跳跃的距离。如果 $y$ 与正确答案的绝对误差或相对误差在 $10^{-4}$ 以内,则被视为正确。
数据范围
$1 \le T \le 20$ $2 \le N \le 1000$ $1 \le S \le 100$ $-500 \le x_i, y_i, z_i \le 500$
小型数据集(测试集 1 - 可见) $V_{xi} = 0, V_{yi} = 0, V_{zi} = 0$
大型数据集(测试集 2 - 隐藏) $-500 \le V_{xi}, V_{yi}, V_{zi} \le 500$
样例
样例输入 1
3 3 7 0 0 0 0 0 0 1 2 2 0 0 0 1 1 1 0 0 0 5 10 0 0 0 0 0 0 35 0 0 -1 0 0 1 54 0 0 -2 0 2 -150 0 0 10 0 4 0 0 -1 0 0 3 1 -10 2 0 1 0 0 0 0 10 0 0 -1 -10 -2 0 1 0 0
样例输出 1
Case #1: 1.7320508 Case #2: 2.0000000 Case #3: 4.0000000
说明
样例 1 是唯一可能出现在小型数据集中的样例。任何样例都可能出现在大型数据集中。
在样例 1 中,我们从位于 $(0, 0, 0)$ 的静止小行星出发,我们的飞船位于 $(1, 2, 2)$ 的小行星上。还有另一颗小行星位于 $(1, 1, 1)$。一种选择是直接跳跃到我们的飞船,距离为 3。另一种选择是先跳跃到另一颗小行星,距离为 $\sqrt{3}$,然后再从那里跳跃到飞船,距离为 $\sqrt{2}$。第一种选择的最大跳跃距离为 3,第二种选择为 $\sqrt{3}$,因此第二种选择更优。
注意,在小型数据集中 $S$ 的值无关紧要。由于所有小行星都是静止的,没有理由等待;我们可以瞬间完成所有跳跃。
在样例 2 中,我们从位于 $(0, 0, 0)$ 的静止小行星出发。我们可以在那里等待 4 秒,直到 4 号小行星靠近,跳上去,在上面飞行 1 秒,然后跳回 0 号小行星(此时两颗小行星之间的距离为 1)。我们在那里等待 10 秒,这非常接近被抓住的边缘,然后在 15 秒时跳跃到高速移动的 3 号小行星。两秒后,3 号小行星飞过 2 号小行星,我们跳到 2 号小行星。在 27 秒时,我们可以从 2 号小行星跳到 0 号小行星。我们在那里耐心地等待直到 35 秒,此时 1 号小行星到达我们这里,然后我们可以跳上去并逃脱。我们进行的最长跳跃是在 15 秒时从 0 号小行星到 3 号小行星,跳跃距离为 2。
在样例 3 中,安全部队非常活跃!你当然可以等待一秒钟并直接跳到 1 号小行星,但一个更好的选择——允许你进行的跳跃不超过 4——是在 0 号和 2 号小行星之间来回跳跃;同时等待 1 号小行星靠近,然后才跳向它。