P6988 [NEERC 2014] Damage Assessment

题目描述

一个通过铁路运输汽油的罐车形状为两侧带有球形端盖的圆柱体。圆柱体的直径为 $d$,长度为 $l$。球形端盖的半径为 $r$($2r \ge d$)。发生了铁路事故,罐车脱轨,现在躺在地上,部分储存的汽油已经流出。需要进行损失评估。通过测量圆柱体左侧和右侧底部点的高度差 $t$ 来确定罐车在地上的位置($0 \le t \le l$)。通过测量圆柱体底部点和汽油顶部水平面的高度差 $h$ 来确定罐内汽油的水平面。为了解决这个问题,汽油的顶部水平面总是与罐车的圆柱部分相交($0 \le h \le t + d \sqrt{1 - (t/l)^2}$)。 你的任务是计算罐车中剩余的汽油量。 ![](/upload/images2/dmaage.png)

输入格式

输入文件由一行组成,包含五个整数 $d, l, r, t$ 和 $h$,分别表示罐车圆柱部分的直径和长度、球形端盖的半径、倾斜度和汽油水平测量值。它们都以毫米为单位($1$ 毫米 $= 10^{-3}$ 米),满足题目中表达的所有约束条件,并且 $d, l \ge 100 , d, l, r \le 10 000$。

输出格式

输出文件中写一个实数,表示罐车中汽油的体积,以升为单位($1$ 升 $= 10^{-3}$ 立方米)。答案的绝对误差不得超过 $0.1$ 升。

说明/提示

时间限制:1 秒,内存限制:256 MB。 题面翻译由 ChatGPT-4o 提供。