有理想的上学人 2023-02-04 15:59 采纳率: 100%
浏览 60
已结题

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

问题描述
  话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。
  然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。
输入格式
  输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且为v1,v2的公倍数)
输出格式
  输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。
  第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。
样例输入
10 5 5 2 20
样例输出
D
4
样例输入
10 5 5 1 20
样例输出
R
3
样例输入
10 5 5 3 20
样例输出
T
4
我编写的代码如下:

#include <stdio.h>
int main()
{
    int v1,v2,t,s,l,T=1,x1=0,x2=0;
    scanf("%d%d%d%d%d",&v1,&v2,&t,&s,&l);
    for(;;T++)
    {
        x1+=v1;
        x2+=v2;
        while(x1-x2>=t)
        {
            x2+=v2*s;
            T+=s;
        }
            if(x1==l&&x2!=l)
            {
                printf("R\n%d",T);
                break;
            }
        else if(x2==l&&x1!=l)
        {
            printf("T\n%d",T);
            break;
        }
        else if(x1==l&&x2==l)
        {
            printf("D\n%d",T);
            break;
        }
    }
    return 0;
}

想知道错在哪里?



  • 写回答

3条回答 默认 最新

  • Julián Álvarez 2023-02-04 16:56
    关注

    代码写好了,样例能过,如果满意的话,能不能关注一下???

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int v1,v2,t,s,l;
        cin>>v1>>v2>>t>>s>>l;
        int i,t2;
        t2 = l/v2;
        int sum1 = 0,k = 0;
        for(i=1; i<=t2; i++) {
           if(v1*(i-k*s)>=l) break;
           if(v1*(i-k*s)-i*v2>=t) {
                i+=s; 
                k++;
            }
        }
        if(i<t2) printf("R\n%d\n",i);
        else if(i>t2) printf("T\n%d\n",t2);
        else printf("D\n%d\n",t2);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 2月4日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。