概述
在腾讯课堂的物理课上,进行了一个有趣的物理实验。
在一个长度为 LL 米的光滑轨道上,小车 A 在 00 时刻以 1mathrm{m/s}1m/s 的速度从左端出发向右运动,小车 B 在 tt 时刻以 1mathrm{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 时刻两车之间的距离。
input output
10 4 7 0
总结:
这个题快给我气死了(╬◣д◢),刚开始我分情况模拟,计算啥时候撞上,撞上后还有多少时间,还会不会再再再撞上,最后发现这是个无底洞,根本模拟不完,当时脑瓜子嗡嗡的o(╥﹏╥)o。
这个题可以完全将两个小车单独看,相碰的时候虽然说是向着相反方向走了,但是他们碰撞后车速还是一样的,所以可以认为他们还是向着原本的方向走。这题需要注意的是两个小车能走完轨道的次数是奇数还是偶数,因为他们的出发点的方向不一样,只有知道他们停下来的时候是朝哪的才能去计算它们的间距。
代码
#include <iostream>
#include<cmath>
using namespace std;
int main() {
int l, t, T;
cin >> l >> t >> T;
int x = T % l;
int y = (T - t) % l;
int x1 = T / l;
int y1 = (T - t) / l;
int xx, yy;
if (x1 % 2 == 0) {
xx = x;
} else {
xx = l - x;
}
if (y1 % 2 != 0) {
yy = y;
} else {
yy = l - y;
}
cout << abs(xx - yy) << endl;
return 0;
}
最后
以上就是忧虑楼房为你收集整理的腾讯课堂的物理实验的全部内容,希望文章能够帮你解决腾讯课堂的物理实验所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复