P15758 [JAG 2025 Summer Camp #1] Pole
题目描述
在以 $(0, 0, 0)$ 为球心、半径为 $R$ 的球面上,有 $N$ 个圆。第 $i$ 个圆定义为该球面与以下平面的交点集合:
- 该平面经过点 $(X_i, Y_i, Z_i)$。
- 该平面与向量 $\vec{v} = (X_i, Y_i, Z_i)$ 正交。
保证 $\vec{v} \neq \vec{0}$。
同时保证任意两个圆没有公共点。
:::align{center}

图 E-1:由 $(X_i, Y_i, Z_i)$ 定义的圆
:::
我们定义球面上两点之间的距离如下:
对于连接这两点的球面上的一条路径,计算该路径与多少个圆相交。距离定义为在所有此类路径中,该计数的最小可能值。
你可以在球面上选择一个点,并将其指定为**极点**。求以下表达式的最小可能值:
$$\max_{p \in \text{球面}} \text{distance(极点, } p \text{)}$$
输入格式
输入格式如下:
$$\begin{aligned} &N \ R \\ &X_1 \ Y_1 \ Z_1 \\ &X_2 \ Y_2 \ Z_2 \\ &\vdots \\ &X_N \ Y_N \ Z_N \end{aligned}$$
- $1 \leq N \leq 2000$
- $1 \leq R \leq 10^6$
- $0 < \|(X_i, Y_i, Z_i)\| < R$ ($1 \leq i \leq N$)
- 任意两个圆没有公共点。
- 所有输入值均为整数。
输出格式
在一行中输出答案。
说明/提示
:::align{center}

图 E-2:样例输入示意图
:::
翻译由 DeepSeek V3.2 完成