SP2529 GNY07G - Model Rocket Height
题目描述
当你认为我们已经耗尽模型火箭高度问题的创意时……
我们再来介绍一种确定模型火箭飞行高度的方法——垂直线法。两个观察者 A 和 B 分别位于平坦测试场地一条基线的两端,距离为 $D$ 英尺。发射平台位于基线和两位观察者的中间,距离基线 $L$ 英尺。每位观察者都使用测角仪或其他设备来测量远处物体的仰角(高于水平线的角度)和方位角(视线平面与从 A 到 B 的连线逆时针的夹角)。这些设备通过支架固定。A 的设备相对发射平台高 $H_A$ 英尺,B 的设备相对发射平台高 $H_B$ 英尺。当火箭发射到接近飞行顶点时,会释放降落伞并喷出一缕烟雾。每个观察者都会测量从自己位置观察到该烟雾的仰角和方位角。如果顶部位置在基线的错误一侧或者超出由 A 和 B 确定,垂直于基线的范围外,火箭将被取消资格。
通过测量的信息,可以确定火箭的高度:每条视线将对应一个垂直平面,两平面相交于一条垂直线(这就是该方法的名称由来)。每条视线在垂直线上各有一个交点。如果这些交点之间的距离超过 $ERRDIST$ 英尺,则表示数据误差,飞行记录无效。否则,计算交点之间的中点,火箭的高度即为这个中点高出发射平台的距离。
你的任务是编写一个程序,根据以下参数:观察者 A 和 B 间的距离 $D$(单位:英尺),基线到发射平台的距离 $L$,测量设备 A 高出发射平台的高度 $H_A$,测量设备 B 高出发射平台的高度 $H_B$,交点之间的最大误差距离 $ERRDIST$,左观察者 A 测量的火箭仰角 $\alpha$(单位:度),右观察者 B 测量的火箭仰角 $\beta$,左观察者 A 测量的方位角 $\gamma$,右观察者 B 测量的方位角 $\delta$。程序需计算并输出火箭的飞行高度(单位: 英尺,四舍五入至最接近的整数)。
输入格式
输入的第一行是一个整数 $N$,表示接下来的数据集数量($1 \le N \le 1000$)。
第二行包含参数 $D, L, H_A, H_B, ERRDIST$,均为小数形式。这些值在一天开始时测量一次,并在一天内所有发射中保持不变。
接下来的每一行是一个数据集,每个数据集包含四个角度 $\alpha, \beta, \gamma, \delta$,均为小数形式,对应一次火箭的发射。
输出格式
对每个数据集,如果角度 $\alpha, \beta$ 和 $\gamma$ 不严格在 0 度到 90 度之间,或者 $\delta$ 不严格在 90 度到 180 度之间,输出"数据集编号"加上“DISQUALIFIED”字样。如果视线与垂直线交点之间的距离超过 $ERRDIST$ 英尺,输出"数据集编号"加上“ERROR”字样。否则,输出"数据集编号"加上火箭高出发射平台的高度,单位为英尺,并四舍五入至最接近的整数。
**本翻译由 AI 自动生成**