解题思路:  主要是分类讨论的思想

注意事项:


参考代码:

#include<iostream>
using namespace std;
//主要运用分类讨论的思想
int main(){
 int v1,v2,t,s,l,s1=0,s2=0,time=0,resttime;    //s1,s2表示兔子和乌龟的路程
 bool run=true;
 cin>>v1>>v2>>t>>s>>l;
 while(!(s1==l||s2==l)){                               //因为l是v1和v2的公倍数,直接判断是否相等,即判断比赛是否结束
   time++;                                  //总时间+1
   if(run){                                   //如果兔子在跑
           if(s1-s2>=t) {                                   //满足休息的条件修改run为false并置resttime为1
                run=false;
                resttime=1;
             }
           else s1+=v1;                                  //不满足继续跑
          }
  else{                                      //兔子不在跑
           if(resttime==s){                             //休息时间到了,继续跑并修改run为true
                    s1+=v1;
                    run=true;
               }
           else     resttime++;                        //休息时间没到继续休息
        }
  s2+=v2;                                 //乌龟开始跑
 }

 if(s1==l&&s2==l) cout<<'D';                    //同时到达终点
 else if(s1==l) cout<<'R';                          //兔子到达终点
 else cout<<'T';                                        //乌龟到达终点
 cout<<endl<<time<<endl;                      //总时间
}


点赞(1)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论