1 条题解

  • 0
    @ 2025-8-24 21:18:02

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar chen_zhe
    Aya 敲可爱的~

    搬运于2025-08-24 21:18:01,当前版本为作者最后更新于2025-03-10 15:16:20,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    欢迎报名洛谷网校,期待和大家一起进步!

    本题考察分支结构。

    我们需要计算出每种方案小 X 需要花费多少时间,再从中选择最小值。根据题意:

    1. 步行。所需时间是 n÷an\div a
    2. 坐公交车。所需时间是 t+n÷bt+n\div b
    3. 骑共享单车。所需时间是 m÷a+(m+n)÷cm\div a+(m+n)\div c

    在编写代码的时候,由于时间都有可能是小数,因此需要使用 double 类型变量存储这些数值。但是由于 abc 是整数,整数除以整数的结果是整数,因此需要将其强制转换为浮点数。参考代码:

    double walk_time = 1.0 * n / a;
    double bus_time = t + 1.0 * n / b;
    double bike_time = (1.0 * m / a) + 1.0 * (n + m) / c;
    

    接着从中选择最小值输出即可。注意需要输出的是保留到小数点后两位的浮点数,需要使用 printf("%.2lf", ans) 这样的形式输出。

    if (walk_time <= bus_time && walk_time <= bike_time) {
        cout << "MODE I" << endl;
        printf("%.2lf", walk_time);
    }
    
    • 1

    [四川青少年 C++ 算法设计大赛 2024] 4-5 年级组第 4 题

    信息

    ID
    11651
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者