现在的位置: 首页 > 综合 > 正文

Bestcoder Round 14# 1001 Harry And Physical Teacher

2018年04月29日 ⁄ 综合 ⁄ 共 676字 ⁄ 字号 评论关闭


1001 Harry And Physical Teacher
这是去年一个学妹问我的物理题。我是这样考虑的:题目告诉我们,小球和车发生的是完全弹性碰撞,那么动能是守恒的,而碰撞过程中,动量也守恒。联立动能守恒,动量守恒方程。然后还有一个很特殊的条件,车的质量远大于小球,那么结合下实际情况,一个质量很小的物体撞质量很大的物体,大的物体的速度是不会发生变化的。有了这个条件,就可以求解了。推导过程如下:
V 

表示碰撞前车的速度,V   

表示碰撞后车的速度;用V 0  

表示碰撞前球的速度,用V  0  

表示碰撞后球的速度;用M 

表示车的质量,用m 

表示球的质量。(M>>m 

)
{12 MV 2 +12 mV 2 0 =12 MV   2 +12 mV   2 0 MV+mV 0 =MV  +mV  0   

 {12 M(V+V  )(VV  )=12 m(V 0 +V  0 (V  0 V 0 ))M(VV  )=m(V  0 V 0 )  

 

可将 

约成V+V  =V 0 +V  0  

然后将V   

视作V 

,可得V  0 =2VV 0  

注意long long。前两次没调long long WA了两次。。。

# include<cstdio>
# include<iostream>

using namespace std;

int main(void)
{
    long long v,v0;
    while ( cin>>v>>v0 )
    {
        long long f = (-1)*v0+2*v;
        cout<<f<<endl;

    }

    return 0;
}
 

抱歉!评论已关闭.