题目链接:https://nanti.jisuanke.com/t/15546
前言:做完北林校赛和cf,兴致勃勃的来做计蒜客,这题打眼一看,要分类讨论吗,多讨论几种相撞改变方向的情况不就行了吗,嗨呀!=W=我是智障,这种sb的解法,亏我还想的出来,提交人数呼呼的涨啊,心态爆炸。一直想一直想,在错误的道路上越走越远。处理问题前要三思啊,要多想一想啊!!!
思路:碰撞其实可以视为相互穿越,那么两车其实可以视为没有任何相互影响,然后单独模拟即可。(单独模拟即可!!!!我居然傻乎乎的分类讨论了一个小时,简直无药可救!!!)
代码:
#include <iostream>
using namespace std;
int solve(int a,int b)
{
int ans=a-b;
if(ans<0)
return -ans;
return ans;
}
int main()
{
int x1,x2;//x1记录A车 x2记录B车的位置
int L,t,T;cin>>L>>t>>T;
x1=T%(2*L);
if(x1>L) x1=2*L-x1;
x2=(T-t)%(2*L);
if(x2<=L) x2=L-x2;
else x2=x2-L;
cout<<solve(x1,x2)<<endl;
}