P12220 [蓝桥杯 2023 国 Java B] 星球

题目描述

小明驾驶飞船对某星系发起攻击。星系中有 $n$ 颗星球,编号依次是 $1, 2, \ldots, n$。第 $i$ 颗星球的坐标为 $(x_i, y_i, z_i)$,且其防御强度为 $w_i$。 小明需要规划出进攻这 $n$ 颗星球的顺序使得其进攻所需能量最少。 对于一个遍历顺序 $p_1, p_2, \ldots, p_n$ 来说,小明进攻需要的能量为 $E = \displaystyle \sum_{i=2}^{n} d(p_{i-1}, p_i) \times w_{p_i}$,其中 $d(p_{i-1}, p_i)$ 表示 $p_{i-1}, p_i$ 两颗星球之间的直线距离。小明想知道进攻所需最少能量是多少。

输入格式

输入共 $n + 1$ 行。 第一行为一个正整数 $n$。 后面 $n$ 行,每行四个整数 $x_i, y_i, z_i, w_i$。

输出格式

输出共 $1$ 行,一个浮点数(保留两位小数)。

说明/提示

### 样例说明 当进攻顺序为 $\{1, 2, 3\}$ 时,所需能量最小,为 $5\sqrt{5} + 3\sqrt{6}$。 ### 评测用例规模与约定 - 对于 $20\%$ 的数据,保证 $n \leq 8$。 - 对于 $100\%$ 的数据,保证 $n \leq 18$,$0 \leq x_i, y_i, z_i, w_i \leq 100$。