#P3684. Physics Experiment
Physics Experiment
P3684. 物理实验
标签:物理模拟
题目描述
Simon 正在进行一项物理实验,实验使用 个半径为 厘米的相同小球。实验开始前,所有小球被垂直固定在管中,最底部小球的最低点距离地面高度为 米。
实验开始时( 秒),第一个小球被释放并因重力下落。之后,每秒释放一个小球,直到所有小球被释放。运动规则如下:
- 地面碰撞:小球撞击地面时,以原速反弹(速度大小不变,方向相反)。
- 小球碰撞:两球相撞时,交换速度(包括大小和方向)。
已知重力加速度 ,Simon 想知道 秒后所有小球的位置。
输入格式
- 第一行输入测试用例数量 ()。
- 每个测试用例包含四个整数:
- (小球数量,)
- (初始高度,,单位:米)
- (小球半径,,单位:厘米)
- (时间,,单位:秒)
输出格式
对于每个测试用例,输出一行 个实数,表示 秒后每个小球最低点的高度(单位:米),保留两位小数,用空格分隔。
样例输入
2
1 10 10 100
2 10 10 100
样例输出
4.95
4.95 10.20
题目来源
POJ Founder Monthly Contest – 2008.08.31, Simon
关键点说明
- 物理模型:
- 小球自由落体时间 ,周期 。
- 时间 后的高度 可通过周期性运动计算:$$h = H - \frac{1}{2}g \left(T \bmod T_{\text{bounce}} - t_{\text{fall}}\right)^2 \quad \text{(反弹阶段)} $$
- 碰撞处理:
- 两球相撞仅需交换速度,无需计算动量(因质量相同)。
- 半径转换:
- 输入中的 为厘米,需转换为米()参与计算。
- 输出精度:
- 结果需四舍五入到两位小数。