Description
桌面上有3个质量为m且不计体积的小物块,每个物块具有大小为v的初始速度。物块均在同一直线上运动。不计阻力,物块间碰撞均为弹性碰撞。
以物块所在直线为x轴,建立一维坐标系。第i个物块的坐标为Xi。给定s、t,规定闭区间[s,t]为有效区域。
求使得物块均离开有效区域所需的最长时间T.
Input
一行,6个浮点数,即v,X1,X2,X3,s,t.
Output
一行,即T的值,保留一位小数。
Sample Input
3 1 2 3 1 3
Sample Output
0.7
Hint
对于100%的数据:0<=v<=100,0<=s<=
/*
桌面上有3个质量为m且不计体积的小物块,每个物块具有大小为v的初始速度。物块均在同一直线上运动。
不计阻力,物块间碰撞均为弹性碰撞。
以物块所在直线为x轴,建立一维坐标系。第i个物块的坐标为Xi。给定s、t,规定闭区间[s,t]为有效区域。
求使得物块均离开有效区域所需的最长时间T.
Input
一行,6个浮点数,即v,X1,X2,X3,s,t.
Output
一行,即T的值,保留一位小数。
Sample Input
3 1 2 3 1 3
Sample Output
0.7*/
# include<stdio.h>
int main()/*碰撞后速度交换,即大小不变方向相反,所以可以视为两个相撞的物体名称交换
如果忽略名称,则可以视为三个物体相同,那么碰撞不产生效果*/
{
double v, x1, x2, x3, s, t;
scanf("%lf %lf %lf %lf %lf %lf",&v, &x1, &x2, &x3, &s, &t);
if (t - x1 > x3 - s)//所以只要找到边界最长的距离
{
printf("%.1lf\n", (t - x1) / v);
}
else
{
printf("%.1lf\n", (x3 - s) / v);
}
return 0;
}
X1<=X2<=X3<=t<=100000

被折叠的 条评论
为什么被折叠?



