[Usaco2007 Dec]Building Roads 修建道路
Farmer John 最近得到了一些新的农场。他希望修建一些道路,使所有农场都能通过已有道路或新建道路互相到达。目前,一些农场之间已经有道路相连。
共有 个农场,依次编号为 到 。农场 在地图上的坐标为 ,连接两个农场的道路长度等于它们所对应坐标点之间的欧氏距离。
已知目前共有 条道路。请计算为了使所有农场连通,至少需要新建多长的道路。
输入格式
第一行包含两个以空格分隔的整数 和 ,分别表示农场数量和已有道路数量。
接下来 行,第 行包含两个以空格分隔的整数 和 ,表示农场 的坐标。
接下来 行,每行包含两个以空格分隔的整数 和 ,表示农场 与农场 之间已有一条道路。
输出格式
输出一个实数,表示使所有农场连通所需新建道路的最小总长度,保留小数点后 位,无须进行任何额外的取整操作。
为避免精度误差,计算农场之间的距离及答案时应使用 位浮点数。
样例输入
4 1
1 1
3 1
2 3
4 3
1 4
样例输出
4.00
样例解释
Farmer John 共有 个农场,坐标分别为 、、 和 。农场 与农场 之间已有道路相连。
数据范围
- ;
- ;
- ;
- 。
来源与许可
本题为 USACO 2007 December 试题「Building Roads(修建道路)」,题面与测试数据整理自 BZOJ。
样例 1
输入
4 1
1 1
3 1
2 3
4 3
1 4
输出
4.00