概述
在腾讯课堂的物理课上,进行了一个有趣的物理实验。
在一个长度为 L 米的光滑轨道上,小车 A 在 0时刻以 1m/s 的速度从左端出发向右运动,小车 B 在 t 时刻以 1m/s 的速度从右端出发向左运动,两个小车的质量相等。假设所有碰撞都是弹性碰撞,也就是当两个小车相向碰撞时,他们各自会以原来的速度向相反的方向运动;小车和轨道两端发生碰撞时,小车会以原速度向反方向运动。
试求出 T 时刻的时候,两个小车相距多远。
输入格式
输入三个整数 L(1≤L≤1000), t(0≤t≤1000), T(t≤T≤1000)。
输出格式
输出 T 时刻两车之间的距离。
样例输入1
10 4 7
样例输出1
0
样例输入2
8 3 9
样例输出2
5
题意:
中文题意,很好明白,不赘述
思路:
对其进行奇偶性分析即可!此处又一新知识点,
t&1这个是与运算,需要将t转换为2进制的数然后t&00000001由于1前面的位数都是0,所以决定结果的就是t的最后一位。如果t是偶数,那么最后一位肯定是0,结果输出0如果t是奇数例如3(0011),那么最后一位肯定是1,结果输出1
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int l,a,b;
while(cin>>l>>a>>b)
{
swap(a,b);
b=a-b;
int t=a/l+1;
if(t&1)a=a%l;
else
a=l-a%l;
t=b/l+1;
if(t&1)b=l-b%l;
else b=b%l;
cout<<abs(a-b)<<endl;
}
return 0;
}
最后
以上就是迷你月饼为你收集整理的计蒜客三场的全部内容,希望文章能够帮你解决计蒜客三场所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复