P30060

The Doors

难度 6 级 图论入门 最短路 图论
讨论 统计 1通过 1提交 100%通过率 旧版界面
时间限制 1 秒 内存限制 128 MB

题目描述

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

输入

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

2 4 2 7 8 9 7 3 4.5 6 7

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

输出

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

样例

样例 1
输入
1
5 4 6 7 8
2
4 2 7 8 9
7 3 4.5 6 7
-1
输出
10.00
10.06
Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交