首页 > 代码库 > 蓝桥杯_基础训练_龟兔赛跑预测

蓝桥杯_基础训练_龟兔赛跑预测

#include <iostream>

using namespace std;

int main()
{
    int time=0,v1,v2,t,s,l;
    while(cin>>v1>>v2>>t>>s>>l)
    {
        bool gui=false,tu=false;     //gui为真则龟到达终点,tu为真表示兔到达终点
        int guil=0,tul=0;            //guil表示龟当前的路程,tul表示兔当前时间的路程
        time=0;                   //初始化时间为0
        while(guil<=l*2)          //也可以guil<=l,这个是小写L,不是数字1
        {
            if(guil>=l&&tul<l)     //龟到达终点,兔没有到达终点
            {
                gui=true;
                break;
            }
            if(guil<l&&tul>=l)     //兔到达终点,龟没有
            {
                tu=true;
                break;
            }
            if(guil>=l&&tul>=l)     //龟和兔当前时间同时到达终点
            {
                gui=tu=true;
                break;
            }

            if(tul-guil>=t)            //如果兔比龟领先t米
            {
                for(int i=0;i<s;i++)     //一秒一秒地计算
                {
                    guil+=v2;
                    time++;
                    if(guil>=l)         //一旦龟到达终点,跳出循环
                        break;
                }
            }
            else
            {
                guil+=v2;
                tul+=v1;
                time++;
            }
        }
        if(gui&&tu)
        {
            cout<<"D"<<endl;
            cout<<time<<endl;
            continue;
        }
        if(gui&&!tu)
        {
            cout<<"T"<<endl<<time<<endl;
            continue;
        }
        if(!gui&&tu)
            cout<<"R"<<endl<<time<<endl;
            continue;
    }
    return 0;
}

  

蓝桥杯_基础训练_龟兔赛跑预测