2008-04-06

2007 百度A*star 程序竞赛复赛 题一

这就是最终的题了,跟原题有那么一些出入,不过基本的条件和约束都没有变化。


顺手写了一个GUI,改天发个sample上来,呵呵。


题目是我出的,不过一开始竟然没想明白怎么做,大大的土了一把。


存照纪念之。



1.好心的出租车司机


北京的一位出租车司机向你抱怨:城市发展太快,公路越来越多,他已经疲于计算行驶路线,于是求助你开发一个自动导航的工具。

出租车只能在公路上行驶。所有的公路都是笔直、双向的,相交的公路视为连通(可以在交叉点处从一条公路开到另一公路上)。由于道路施工,整个城市的公路系
统可能并不完全通畅。如果乘客的目的地不在公路边,则乘客下车后要步行前往,步行路线不受公路限制。这位好心的司机还特别提出,乘客步行距离越短越好;其
次,出租车行驶里程越短越好。

方便起见,用笛卡儿坐标系来描述城市地图,所有坐标都在第一象限[0, 10000]的范围内。公路宽度忽略不计。


输入格式

第一行是一个正整数k,代表公路条数。以下k行每行用4个非负整数描述一条公路(用空格隔开),前两个表示公路起点的坐标,后两个表示公路终点的坐标。下一行包含4个非负整数(用空格隔开),前两个表示乘客上车点(保证在某条公路上),后两个表示乘客目的地坐标。


输出格式

仅一行,为出租车行驶的里程数,保留一位小数(四舍五入)。


输入样例

2

2 2 10 10

10 2 2 10

3 3 9 4


输出样例

7.8


评分规则


  1. 程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过1秒,否则该用例不得分;

  2. 要求程序能按照输入样例的格式读取标准输入数据,按照输出样例的格式将运行结果输出到标准输出上。如果不能正确读入数据和输出数据,该题将不得分;

  3. 本题包含20个测试点,前10组满足k<=10,后10组满足k<=50。每个测试点10分,共200分。

0 评论:

Post a Comment

Popular Posts