空中飞猴
7 P' ]% J, {7 W7 }9 G+ h" y马戏团里新来了一只很特别的小猴子皮皮——不仅长得漂亮,还很聪明。自从它来到马戏团之后,“空中飞猴”成了马戏团里保留节目,慕名观看的人络绎不绝。“空中飞猴”表演开始时,空中架着两根长长的钢丝。皮皮在其中一根上,它的目标是到达另一个根钢丝上。皮皮必须在爬行一定距离后纵身一跃,直接跳到另一根钢丝的某个位置。由于皮皮的速度非常快,它的运动轨迹可以近似的看成一条直线段。为了不让自己太危险,皮皮希望自己的跳跃距离尽量短,而为了不让观众等得太不耐烦,它在钢丝上的爬行距离不能超过d。在爬行距离不超过d的情况下,皮皮的跳跃距离最短是多少? 输入格式: 输入文件包含多组测试数据。每组测试数据包含16个实数x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,xp,yp,zp,d,表示两根钢丝分别为线段(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个测试数据集,每个测试数据集为一个输入文件,包含多组测试数据。每个测试数据集从易到难分别为30、30和40分,对每个测试数据集分别执行一次程序,每次必须在运行时限3秒内结束程序并输出正确的答案才能得分。 所有数据均从标准输入设备(stdin/cin)读入,并写出到标准输出设备 (stdout/cout)中。 三个测试数据集各有10000组测试数据。 ' h& f- a g1 f# [2 ]
. |) U0 y: p( k- w* [4 H p
大家可以跟帖讨论,一起提高你的编程能力! |