騰訊課堂的物理實驗(2017計蒜客初賽第三場)
阿新 • • 發佈:2017-05-29
text ram amp tex 方向 top names rip des
A題
在騰訊課堂的物理課上,進行了一個有趣的物理實驗。
在一個長度為 LL 米的光滑軌道上,小車 A 在 00 時刻以 1\mathrm{m/s}1m/s 的速度從左端出發向右運動,小車 B 在 tt 時刻以 1\mathrm{m/s}1m/s 的速度從右端出發向左運動,兩個小車的質量相等。假設所有碰撞都是彈性碰撞,也就是當兩個小車相向碰撞時,他們各自會以原來的速度向相反的方向運動;小車和軌道兩端發生碰撞時,小車會以原速度向反方向運動。
試求出 TT 時刻的時候,兩個小車相距多遠。
輸入格式
輸入三個整數 L(1 \le L \le 1000),L(1≤L≤1000), t(0 \le t \le 1000),t(0≤t≤1000), T(t \le T \le 1000)T(t≤T≤1000)。
輸出格式
輸出 TT 時刻兩車之間的距離。
樣例輸入1
10 4 7
樣例輸出1
0
樣例輸入2
8 3 9
樣例輸出2
5
這個題賊坑。。。剛開始竟然沒看出來兩小車相撞相當於互換,即互不影響,可以單獨計算。。。
#include <iostream> #include <cstdio> #include <cmath> using namespace std; int main() { int L,t,T; while(~scanf("%d %d %d",&L,&t,&T)){ intn=T%(2*L); int l; if(n>=L){ l=L-(n-L); }else{ l=n; } int r; int n2=(T-t)%(2*L); if(n2>=L){ r=L-(n2-L); }else{ r=n2; } r=L-r; int ans=r-l; if(ans>=0){ printf("%d\n",ans); }else{ printf("%d\n",-1*ans); } } return 0; }
騰訊課堂的物理實驗(2017計蒜客初賽第三場)