解题思路:
跑长途,闪着走快一些。

短途,直接走快。

算算这个差值。


注意事项:
两个速度差距就在路程在68-102,这个区间。最开始的68,是直接走快,102以后,是闪着快。我设了一个退步走法,所以取了个85,中间值,差不多应该都行的,。




参考代码:

#include<stdio.h>
int main()
{
    int i,m,s,t,f,tt,wit=0;
    scanf("%d %d %d",&m,&s,&t);
    f=s;
    for(i=0;i<t&&s>0;i++)
    {
        if(s<=85)
        {
            if(m<2)
            {
                while(s>0&&i<t)
                {
                    s=s-17;
                    i++;
                }
                break;
            }
        }
        if(s<=34)
        {
            if(m<6)
            {
                while(s>0&&i<t)
                {
                    s=s-17;
                    i++;
                }
                break;
            }
        }
        if(s<=17)
        {
            s=s-17;
            i++;
            break;
        }
        if(m<10)
        {
            wit++;
            m=m+4;
            continue;
        }
        s=s-60;
        m=m-10;
    }
    if(s>0)
    {
        while(m>=4&&wit>0&&s>0)//改闪为走的退步。
        {
            wit--;
            s=s-17;
            m=m-4;
        }
    }
    if(s>0)
    {
        printf("No\n%d",f-s);
    }
    else
    {
        printf("Yes\n%d",i);
    }
    return 0;
}

点赞(1)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 2 条评论

指染流年 6年前 回复TA
@指染流年 在这种情况下,当时间恰好是七的倍数时闪着走快,其余的情况跑着走快
指染流年 6年前 回复TA
当能量值小于2时,跑未必比闪着慢,比如当能量值为1时,时间T为5秒时,直接跑的话,能走85米,而闪着走的只能走77米。