在腾讯课堂的物理课上,进行了一个有趣的物理实验。
在一个长度为 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 <math.h>
using namespace std;
int main(){
int L,t,T;
int s1,s2;
int f1,f2;
int mod1,mod2;
int shang1,shang2;
int S1,S2;
while (cin>>L>>t>>T){
S1 = T;
S2 = T-t;
mod1 = S1%L;
mod2 = S2%L;
shang1 = S1/L;
shang2 = S2/L;
if (shang1%2 == 0){
s1 = mod1;
}else {
s1 = L-mod1;
}
if (shang2%2 == 0){
s2 = L-mod2;
}else {
s2 = mod2;
}
cout<<abs(s1-s2)<<endl;
}
return 0;
}