#P13468. [GCJ 2008 #2] Star Wars

    ID: 13279 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学2008Special Judge线性规划Google Code Jam

[GCJ 2008 #2] Star Wars

Description

在遥远的银河系中,火星附近正爆发着帝国军与反叛军之间的殊死战斗。反叛军拥有 NN 艘飞船,我们将每艘飞船视为一个点 (xi,yi,zi)(x_i, y_i, z_i)。每艘飞船都配备了接收器,其接收功率为 pip_i。反叛军需要能够从中央巡洋舰向所有飞船发送消息,但由于经费紧张,他们无法负担高功率的发射器。

如果巡洋舰被放置在 (x,y,z)(x, y, z),而另一艘飞船位于 (xi,yi,zi)(x_i, y_i, z_i),其接收功率为 pip_i,那么巡洋舰的发射器功率至少需要为:

(xix+yiy+ziz)/pi(|x_i - x| + |y_i - y| + |z_i - z|) / p_i

你的任务是找到一个巡洋舰的位置,使得所需的发射器功率最小,并输出该最小功率。

Input Format

输入的第一行为测试用例数 TT。接下来有 TT 组测试数据。

每组测试数据的第一行为整数 NN,表示该组中飞船的数量。

接下来的 NN 行,每行包含四个整数 xi,yi,zi,pix_i, y_i, z_i, p_i,用空格分隔,分别表示第 ii 艘飞船的坐标和接收功率。可能有多艘飞船位于相同坐标。

Output Format

对于每组输入数据,输出一行:

Case #X: Y

其中 XX 表示测试用例编号,YY 表示能够覆盖所有飞船的最小发射功率。若答案的相对或绝对误差不超过 10610^{-6},则视为正确。

3
4
0 0 0 1
1 2 0 1
3 4 0 1
2 1 0 1
1
1 1 1 1
3
1 0 0 1
2 1 1 4
3 2 3 2
Case #1: 3.50000000
Case #2: 0.00000000
Case #3: 2.33333333

Hint

样例解释

在第一个测试用例中,四艘飞船的坐标分别为 (0,0,0),(1,2,0),(3,4,0),(2,1,0)(0, 0, 0), (1, 2, 0), (3, 4, 0), (2, 1, 0),接收功率均为 11。我们可以将巡洋舰放在 (1.5,2,0)(1.5, 2, 0),此时所需发射功率为 3.53.5,能够覆盖所有飞船。

在第二个测试用例中,我们可以将巡洋舰直接放在飞船上,所需发射功率为 00

数据范围

  • 1T101 \leq T \leq 10
  • 0xi,yi,zi1060 \leq x_i, y_i, z_i \leq 10^6
  • 1pi1061 \leq p_i \leq 10^6

小数据范围(10 分,测试点 1 - 可见)

  • 1N101 \leq N \leq 10

大数据范围(20 分,测试点 2 - 隐藏)

  • 1N10001 \leq N \leq 1000

由 ChatGPT 4.1 翻译