1 条题解

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

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar ShanCreeperPro
    DILL QQTeam:746219450

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

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

    以下是正文


    B3669 [语言月赛202210] 购物节

    Source & Knowledge

    2022 年 10 月语言月赛,由洛谷网校入门计划/基础计划提供。

    本题考察对分支语句数学知识的应用。

    文字题解

    题目大意

    有价格为 x1x-1 的单本和 y1y-1 的十连本装,问至少要花费多少钱才能买到 nn 本本子。

    解析

    本题难点在于判断要买多少个一本和多少个十本。

    我们很容易想到,先买十本装,当剩下不足 10 本要买的时候,买一本装,这样,总价格便是:n/10*(y-1)+n%10*(x-1)

    但,存在以下这种情况:当一本装足够便宜,以至于买 nn 个一本的价格比买 10 本的价格还低。此时,我们所有本子均购买一本装。

    判断代码如下:

     if ( (x - 1) * 10 < y - 1) {
            ans = n * (x - 1);
        } else {
            ans = (n % 10) * (x - 1);
            ans += (n / 10) * (y - 1);
        }
    

    注意事项

    • 本题需要开 long long,因为最后的答案可能会超过 int 的范围!

    视频题解

    完整代码请在视频中查看

    • 1

    信息

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