#P15758. [JAG 2025 Summer Camp #1] Pole

[JAG 2025 Summer Camp #1] Pole

说明

在以 (0,0,0)(0, 0, 0) 为球心、半径为 RR 的球面上,有 NN 个圆。第 ii 个圆定义为该球面与以下平面的交点集合:

  • 该平面经过点 (Xi,Yi,Zi)(X_i, Y_i, Z_i)
  • 该平面与向量 v=(Xi,Yi,Zi)\vec{v} = (X_i, Y_i, Z_i) 正交。

保证 v0\vec{v} \neq \vec{0}

同时保证任意两个圆没有公共点。

:::align{center}

图 E-1:由 (Xi,Yi,Zi)(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}$$
  • 1N20001 \leq N \leq 2000
  • 1R1061 \leq R \leq 10^6
  • 0<(Xi,Yi,Zi)<R0 < \|(X_i, Y_i, Z_i)\| < R (1iN1 \leq i \leq N)
  • 任意两个圆没有公共点。
  • 所有输入值均为整数。

输出格式

在一行中输出答案。

5 100
14 -11 -2
-54 46 8
54 -57 -12
-34 39 7
64 -74 -4
3

提示

:::align{center}

图 E-2:样例输入示意图 :::

翻译由 DeepSeek V3.2 完成