30060 - The Doors

请计算穿过一间设有障碍墙壁的房间时,最短路径的长度。房间的边界固定为 x = 0x = 10y = 0y = 10。路径的起点和终点也始终固定为 (0, 5)(10, 5)。房间内部还会有 018 面竖直墙,每面墙上都有两个门洞。下图展示了这样一个房间,以及其中长度最短的路径。

输入

对于上图所示的房间,输入数据如下:

2 4 2 7 8 9 7 3 4.5 6 7

第一行给出内部墙壁的数量。接下来每行描述一面墙,共包含五个实数。第一个数是墙的 x 坐标(0 < x < 10),后四个数是该墙上两个门洞端点的 y 坐标。墙壁的 x 坐标按递增顺序给出;每行中的 y 坐标同样按递增顺序排列。输入文件中至少包含一组这样的数据。当墙壁数量为 -1 时,表示输入结束。

输出

对于每个房间,输出一行结果。该行应包含最短路径的长度,四舍五入到小数点后两位,并且必须始终显示两位小数。行中不得包含空格。

样例

输入

1
5 4 6 7 8
2
4 2 7 8 9
7 3 4.5 6 7
-1

输出

10.00
10.06
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题