2006年百度之星程序设计大赛复赛题目2:空中飞猴

空中飞猴

 

马戏团里新来了一只很特别的小猴子皮皮——不仅长得漂亮,还很聪明。自从它来到马戏团之后,“空中飞猴”成了马戏团里保留节目,慕名观看的人络绎不绝。“空中飞猴”表演开始时,空中架着两根长长的钢丝。皮皮在其中一根上,它的目标是到达另一个根钢丝上。皮皮必须在爬行一定距离后纵身一跃,直接跳到另一根钢丝的某个位置。由于皮皮的速度非常快,它的运动轨迹可以近似的看成一条直线段。为了不让自己太危险,皮皮希望自己的跳跃距离尽量短,而为了不让观众等得太不耐烦,它在钢丝上的爬行距离不能超过d。在爬行距离不超过d的情况下,皮皮的跳跃距离最短是多少?

输入格式:

输入文件包含多组测试数据。每组测试数据包含16个实数x1y1z1x2y2z2x3y3z3x4y4z4xpypzpd,表示两根钢丝分别为线段(x1,y1,z1)-(x2,y2,z2)(x3,y3,z3)-(x4,y4,z4),皮皮的坐标为(xp, yp, zp),最大爬行距离为d。皮皮保证在第一条钢丝上,保证每条钢丝长度大于零。但两条钢丝有可能相交甚至重叠。

输出格式:

每组测试数据输出一行,仅包含一个非负实数,四舍五入保留三位小数,即最短跳跃距离。

输入样例:

0.0 0.0 0.0 4.0 4.0 0.0 4.0 0.0 1.0 0.0 4.0 1.0 2.0 2.0 0.0 10.0

输出样例:

1.000

说明:

共有3个测试数据集,每个测试数据集为一个输入文件,包含多组测试数据。每个测试数据集从易到难分别为303040分,对每个测试数据集分别执行一次程序,每次必须在运行时限3秒内结束程序并输出正确的答案才能得分。

所有数据均从标准输入设备(stdin/cin)读入,并写出到标准输出设备 stdout/cout)中。

三个测试数据集各有10000组测试数据。

来自:http://hi.baidu.com/astar/blog/item/69570fb354cddda6d9335a95.html

你可能感兴趣的:(程序设计)