AT_kupc2018_l 凸包が映し出される平面

题目描述

在三维空间中有 $N$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i, z_i)$。 首先,你可以自由选择一个长度为 $1$ 的三维向量 $v$。 接下来,定义一个经过原点并垂直于向量 $v$ 的平面 $F$。 对于每个点 $(x_i, y_i, z_i)$,作出这点到平面 $F$ 的垂线,垂足记为 $p_i$。 在平面 $F$ 中,利用点 $p_1, p_2, \ldots, p_N$ 构造出一个凸包,并计算它的面积 $S$。 求出面积 $S$ 的最大值,并计算出能使 $S$ 达到最大值的向量 $v$ 的数量,最后将这个数量对 $10^9 + 7$ 取模。

输入格式

输入由标准输入给出,格式如下: > $ N $ $ x_1 $ $ y_1 $ $ z_1 $ $ x_2 $ $ y_2 $ $ z_2 $ $ : $ $ x_N $ $ y_N $ $ z_N $

输出格式

输出面积 $S$ 的最大值,接着输出能使 $S$ 达到最大值的向量 $v$ 的数量对 $10^9 + 7$ 取模的结果。 请注意,面积 $S$ 的最大值,如果绝对误差或相对误差小于 $10^{-8}$,则视为正确答案。

说明/提示

- 输入的数值均为整数。 - $4 \leq N \leq 60$ - $0 \leq x_i, y_i, z_i \leq 1,000$ - 每个点的坐标均不相同。 - 所有点都不在同一个平面上。 - 使得面积达到最大值的向量 $v$ 的选择方案数量有限。 ### 样例解释 1 如果选择 $v = (1 / \sqrt{3},\ 1 / \sqrt{3},\ 1 / \sqrt{3})$,则每个点到平面 $F$ 的垂足形成的凸包是一个边长为 $\sqrt{2}$ 的正三角形,其面积为 $\sqrt{3}/2$,这正是面积的最大值。当选择 $v = (-1 / \sqrt{3},\ -1 / \sqrt{3},\ -1 / \sqrt{3})$ 时,也能得到同样的面积。因此,使凸包面积达到 $\sqrt{3}/2$ 的向量 $v$ 只有两个选择方案。 **本翻译由 AI 自动生成**