Race

Time Limit: 10000ms
Memory Limit: 65535KB
This problem will be judged on HDU. Original ID: 4837
64-bit integer IO format: %I64d      Java class name: Main

Description

度度熊最近参加了一场劲跑比赛,但是这个劲跑比赛的规则比较特殊。比赛方预先在地上画了一些横线和竖线(可以认为这些线为无限长的直线),要求选手从指定的位置出发,在最短时间内按照规定的顺序经过所有的直线(只要到达直线上的任意一点即为经过)。为了帮助度度熊获胜,你能为他规划一条最短的线路吗?

Input

第一行为T,表示输入数据组数。
下面T组数据。每组数据中:
第一行为一个整数n,表示有n条直线。接下来n行,每行包含两个整数,表示一条直线。如果直线为竖线,则第一个整数为0,第二个整数为直线的横坐标x。如果直线为横线,则第一个整数为1,第二个整数为直线的纵坐标y。度度熊将从平面的原点出发。

限制条件:
1<=T<=10
1<=n<=10^6
-500<=x,y<=500

Output

对第i组数据,输出
Case #i:
然后输出一个实数,表示从原点出发按输入顺序经过所有直线的最短路径的长度。保留到小数点后3位。

Sample Input

1
3
0 1
1 1
0 2

Sample Output

Case #1:
2.236

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .