AZY's ink

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

AZY并不擅长绘画,但很喜欢做连线游戏。这天Kevin给了他一张纸来做连线游戏,上面有不同位置的点 ,用坐标(x,y)表示。不过AZY的墨水很贵,而且不剩多少了,所以请你帮AZY看看,应该怎样连接所有点,使得所用的墨水最少。为了节省墨水,AZY总是用直线段连接两个点,在画不同线段之间可以将笔提起。当他结束画线时,任何一个点必须能够经过所画的线到达任何另外一个点。

输入

输入第一行只有一个正整数,代表测试数据的组数。接下来有一个空行。

每组数据的第一行有一个整数 n(0 < n <= 100),表示纸上的圆点数。接下来的每行有两个实数 (x,y),0<=x,y<=100,分别代表每个点的位置。

相邻两组输入数据之间有一个空行。

输出

对于每组数据,你的程序要输出一个保留两位小数的实数,表示将所有点连接起来所需线段的最小总长度。相邻两组数据的输出之间应该有一个空行。

输入样例

1  

3  
1.0 1.0  
2.0 2.0  
2.0 4.0 

输出样例

3.41

相关推荐