题目描述
二维平面上有 N 条直线。第 i 条直线表示为 Aix+Biy+Ci=0,保证没有两条直线是平行的。
在该平面上,存在两条直线的 fracN(N−1)2 个交点,包括重复的交点。输出离原点最接近原点的第 K 个交点到原点的距离。
约束条件
- 2leNle5times104
- 1leKlefracN(N−1)2
- $\-1000 \\le |A_i|,|B_i|,|C_i| \\le 1000(1 \\le i \\le N)$
- 没有两条直线是平行的。
- Aineq0 或 Bineq0(1leileN)。
- 输入中的所有值都是整数。
输入格式
输入以标准输入给出,格式如下:
N K
A1 B1 C1
A2 B2 C2
vdots
AN BN CN
输出格式
输出一个实数表示答案。
当您的输出与评测系统的输出的绝对误差或相对误差不超过 10−4 时,即被认为是正确的。
示例输入 1
3 2
1 1 1
2 1 -3
1 -1 2
示例输出 1
2.3570226040
我们将第 i 条直线记为 Line i。
- Line 1 和 Line 2 的交点是 (4,−5),离原点的距离为 sqrt41simeq6.4031242374。
- Line 1 和 Line 3 的交点是 (frac−32,frac12),离原点的距离为 fracsqrt102simeq1.5811388300。
- Line 2 和 Line 3 的交点是 (frac13,frac73),离原点的距离为 frac5sqrt23simeq2.3570226040。
因此,第二近的交点是 (frac13,frac73),应该输出 frac5sqrt23。
示例输入 2
6 7
5 1 9
4 4 -3
8 -1 2
0 1 -8
4 0 -4
2 -3 0
示例输出 2
4.0126752298