社区划分
测试数据来自 system/1557
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
时间限制:1秒 内存限制:256M
【问题描述】
某城市有 \(N\) 个居民点,居民点的位置用平面直角坐标系中的坐标 \((x,y)\) 表示。居民点的距离是它们的平面距离,比如居民点 \((x_1,y_1)\) 与 \((x_2,y_2)\) 的距离为 \(\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\)。
市长打算把这些居民点划分成K个社区,划分的原则是尽量把邻近的居民点划分在同一个社区。社区之间的距离定义为两个社区中社区中距离最近的那两个居民点的距离。
现在市长望你提出一种社区划分的方法,使距离最近的两个社区尽可能远离。
例如下图的4个居民点,左图表示了一个好的划分,而右图则不是,因为没有遵循 “邻近的居民点划分在同一个社区中”的原则。
市长望求出一种社区划分的方法,使靠得最近的两个居社区尽可能远离。 例如,下面的左图表示了一个好的划分,而右图则不是。
【输入格式】
输入的第一行包含两个整数 \(N\) 和 \(K(1<K<=N)\),分别代表了居民点的数量和社区的数量。
接下来 \(N\) 行,每行包含两个正整数 \(x,y\),描述了一个居民点的坐标。
【输出格式】
输出一行,为最优划分时,最近的两个社区的距离,精确到小数点后2位。
【输入输出样例】
Input
4 2
0 0
0 1
1 1
1 0
Output
1.00
【数据说明】
对于 \(100\%\) 的数据 \(1≤N≤1000\),\(1≤x,y≤10000\)
【来源】
Mr.he