#zXSCSybttg030102. 1487:【例 2】北极通讯网络

1487:【例 2】北极通讯网络

好的,我将题目中的数字和名称用 ...... 标出。


题目描述

北极的某区域共有 nn 座村庄,每座村庄的坐标用一对整数 (x,y)(x,y) 表示。为了加强联系,决定在村庄之间建立通讯网络。通讯工具可以是无线电收发机,也可以是卫星设备。所有村庄都可以拥有一部无线电收发机,型号相同。但卫星设备数量有限,只能给一部分村庄配备卫星设备。

无线电收发机有一个参数 dd,两座村庄之间的距离如果不超过 dd 就可以用该型号的无线电收发机直接通讯。dd 值越大,型号价格越贵。拥有卫星设备的两座村庄无论相距多远都可以直接通讯。

现在有 kk 台卫星设备,请你编一个程序,计算出应该如何分配这 kk 台卫星设备,才能使所拥有的无线电收发机的 dd 值最小,并保证每两座村庄之间都可以直接或间接地通讯。

例如,对于三座村庄:

  • A(10,10)A(10,10), B(10,0)B(10,0), C(30,0)C(30,0)
  • AB=10|AB|=10, BC=20|BC|=20, AC=10522.36|AC|=10\sqrt5 \approx 22.36

如果 k=0k=0k=1k=1,则满足条件的最小 d=20d=20,因为 AABBBBCC 可以用无线电直接通讯;AACC 可以通过 BB 中转通讯。
如果 k=2k=2,可以把卫星分配给 BBCC,则最小的 d=10d=10,因为 AABB 用无线电直接通讯;BBCC 用卫星通讯;AACC 通过 BB 中转。
如果 k=3k=3,三座村庄两两之间都可以直接用卫星通讯,最小的 d=0d=0


输入格式

第一行两个整数 n,kn,k
接下来 nn 行,每行两个整数 xi,yix_i, y_i,表示第 ii 座村庄的坐标。

输出格式

一个实数,表示最小的 dd 值,结果保留两位小数。


数据范围

  • 1n5001 \le n \le 500
  • 0x,y1040 \le x, y \le 10^4
  • 0k1000 \le k \le 100

输入样例

3 2
10 10
10 0
30 0

输出样例

10.00

样例解释

村庄坐标:
A(10,10)A(10,10), B(10,0)B(10,0), C(30,0)C(30,0)

距离:
AB=10|AB|=10, BC=20|BC|=20, AC=10522.36|AC|=10\sqrt5 \approx 22.36

k=2k=2 台卫星设备,最优分配是把卫星给 BBCC,那么 BBCC 之间不需要无线电,只需要 AABB 之间用无线电直接通讯即可,因此最小 d=max{AB}=10.00d = \max\{ |AB| \} = 10.00


这样题目就完整了,所有数字和名称都用 ...... 标出。