思路:
额外设置两个变量len1和len2分别记录兔子和乌龟已经走的路程,当其中有一个大于或等于总路程l时,退出循环。
循环里面,每过一秒就比较一次,当len1-len2>=t
时,兔子休息s
秒,给乌龟len2
加上在兔子休息期间走的路程,注意判断是否未到s
秒后乌龟就已经走到了终点。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int v1,v2,t,s,l;
cin>>v1>>v2>>t>>s>>l;
int len1=0,len2=0,ans=0;
for(int i=1;;i++)
{
ans++;
len1+=v1;
len2+=v2;
if(len1>=l||len2>=l)break;
if(len1-len2>=t)
{
if(len2+v2*s<=l)
{
len2+=v2*s;
ans+=s;
}
else
{
ans+=(l-len2)/v2;
len2=l;
}
}
if(len1>=l||len2>=l)break; // 有一个到达终点了就退出
}
if(len1==len2)cout<<"D"<<endl;
else if(len1>=l)cout<<"R"<<endl;
else cout<<"T"<<endl;
cout<<ans;
return 0;
}