思路:模拟,找到相关限制条件,然后判断谁先到达终点即可
对模拟题一直都不太熟练,此题就是我们把路程作为一个衡量标准,然后的当其中一个打破的时候,看看哪个大,然后判断哪个胜出,那么如果两者距离没有大于t,那么的话就是两者都在奔跑,所以的话,将两者距离都更新,但如果是大于的话,那么兔子不跑,只用将乌龟的时间跟距离更新即可!
#include<bits/stdc++.h>
using namespace std;
int v1, v2, t, s, l;
int main(){
cin >> v1 >> v2 >> t >> s >> l;
int l1 = 0, l2 = 0;
int t1 = 0, t2 = 0;
while (l1 != l && l2 != l) {
if ((l1 - l2) >= t) {
t2 += s;
l2 = v2 * t2;
}
else {
t1++;
t2++;
l1 = v1 * t1;
l2 = v2 * t2;
}
}
if (l1 == l2) {
cout << "D" << endl << t2;
} else if (l1 > l2) {
cout << "R" << endl << t2;
}else {
cout << "T" << endl << l/v2;
}
return 0;
}