Responsive image

问题 F: 弹性碰撞

问题 F: 弹性碰撞

时间限制: 1 Sec  内存限制: 128 MB
提交: 7  解决: 3
[提交][状态][讨论版][命题人:]

题目描述

现在有一个长度为L的光滑横杆(单位:米),有N个完全相同的光滑小球在杆上面运动,每个小球的速度大小恒为1米/秒。当小球到达杆的任一端时,会立即从横杆上坠落。当相向而行的两只球相遇时,它们会发生完全弹性碰撞[1],立刻朝相反的方向运动,忽略时间和能量损失。现在我们知道小球的个数,和每个小球在杆子上相对于左端点的原始位置,不幸的是,我们不知道小球运动的方向,每个小球的运动方向可能是向左,也可能是向右。你的任务是计算所有小球,从开始运动到从杆上坠落,所需的最短时间最长时间(需要按标准格式表示)
标准格式:"2000/01/01 01:01:01",表示为:2000年1月1日1时1分1秒,需要注意时间均采用24小时制,且需要有前导0,如1时1分1秒:"01:01:01", 1月1日: "01/01"

输入描述

输入的第一行包含一个整数T,表示下面有T组样例。
每组样例有三行输入数据:
第一行数据表示小球开始运动的完整时间,包含日期和时间,中间用空格隔开;
第二行数据包含两个整数:杆子的长度L小球的个数N,以空格分割;
第三行数据包含N个整数,第Ni个整数表示第Ni个小球与横杆左端点的相对位置(即与左端点的距离),小球没有特定的顺序
所有输入整数都不大于1000000

输出描述

对于每组数据,输出两行:
第一行表示小球全部坠落的最短时间,输出为最后一个小球坠落的时间
第二行表示小球全部坠落的最长时间,输出为最后一个小球坠落的时间
每组数据结果后面有一个空行

样例输入

2
2012/12/21 18:52:52
12 3
2 7 9
2019/11/17 23:56:40
211 7
10 199 12 7 13 186 23

样例输出

2012/12/21 18:52:57
2012/12/21 18:53:02

2019/11/17 23:57:05
2019/11/18 00:00:04

提示

[1] 完全弹性碰撞: 在理想情况下,完全弹性碰撞的物理过程满足动量守恒和能量守恒。如果两个碰撞小球的质量相等,则两个小球碰撞后交换速度(包括速度方向和速度大小)。

[提交][状态]
ACM算法攻关部