[POJ2852]模型火箭的飞行高度

Grade Open Time Friday, 19 September 2014, 10:08 am
Discount 0.8 Time Discount Friday, 26 September 2014, 10:08 am
Allow late Yes Close Time Friday, 26 September 2014, 10:08 am
Input file modelrocketheight.in Output file modelrocketheight.out

【题目描述】

测地线法是一种计算火箭模型飞行高度的方法。两个观察者A,B在一条基准线上,相距100英尺。基准线是一条沿着平坦试验场地的直线。发射平台和观察者A,B等距,并且距离基准线50英尺。每个观察者都有一个经纬仪或类似设备,来测量远方物体在地面以上的角度(高度角),和方位角(射线AB到视线所在的竖直平面逆时针需旋转角度)。两个测量设备都放置在平台上。A的设备离地面HA英尺,B的设备离地面HB英尺。当火箭发射到最高点时,它会展开降落伞,并且放出一股烟雾。两名观测者分别从他们的位置测量烟雾的高度角和方位角。如果火箭飞行中达到的最高点在基准线错误的一侧,或者处于A,B作基准线垂线所确定的区域外,它就超出了测量范围,结果是不合法的。利用这些信息,火箭的最高飞行高度可以被以如下方式计算:

在每条视线(观察者到烟雾)上,找到它上面离另一条视线最近的点。我们认为两个最近点的中点就是火箭达到的最高点。火箭的最高飞行高度就是这个点到地面的距离。

请你写一个程序,对给定的参数HA(A的测量设备到地面的距离,单位英尺),HB(B的测量设备到地面的距离,单位英尺),α(左边的观测者A测得火箭最高点的仰角,角度值),β(右边的观测者B测得火箭最高点的仰角,角度值),γ(左边的观测者A测得火箭最高点的方位角,角度值),和δ(右边的观测者B测得火箭最高点的方位角,角度值),计算火箭最高点离地面的高度,单位英尺,舍入到最近整数。

【输入格式】

第一行:一个整数发射次数N(1<=N<=100),和两个实数HA,HB。这两个值在这一天开始前被测量,并且在N次发射中保持不变。

接下来有N行,每行四个角度α,β,γ和δ(角度值)。其中0°<α,β,γ<90°,90°<δ<180°

【输出格式】

对每次发射(即四个角度),输出一行:发射编号(1~N),一个冒号,一个空格,和火箭最高飞行高度,舍入到最近整数。

【样例输入】

4 5.25 2.92

39.6 36.0 35.4 151.2

65.1 71.2 16.5 160.6

59.4 59.5 43.8 139.0

45.0 41.2 32.9 152.6

【样例输出】

1: 50

2: 135

3: 119

4: 58

【来源】

POJ 2852 Model Rocket Height

Greater New York 2005