1 条题解

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

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar mnesia
    I'm fine.

    搬运于2025-08-24 21:02:43,当前版本为作者最后更新于2021-07-04 14:11:48,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    这道题由于题目给定了小朋友的数量为 5,因此直接模拟即可。

    我的思路是在分糖果之前先把吃掉的糖果通过对 3 取余算出并加到 sum 变量中,之后直接除 3,所得的数加到相邻的小朋友的糖果数中。

    在代码中,我运用了花括号框起,这样可以明显地标识出每个小朋友分糖果的情况。

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    int sum, a[6];
    int main()
    {
        cin >> a[1] >> a[2] >> a[3] >> a[4] >> a[5];
        {
            sum += a[1] % 3;
            a[1] /= 3;
            a[5] += a[1];
            a[2] += a[1];
        }
        {
            sum += a[2] % 3;
            a[2] /= 3;
            a[3] += a[2];
            a[1] += a[2];
        }
        {
            sum += a[3] % 3;
            a[3] /= 3;
            a[4] += a[3];
            a[2] += a[3];
        }
        {
            sum += a[4] % 3;
            a[4] /= 3;
            a[5] += a[4];
            a[3] += a[4];
        }
        {
            sum += a[5] % 3;
            a[5] /= 3;
            a[1] += a[5];
            a[4] += a[5];
        }
        cout << a[1] << " " << a[2] << " " << a[3] << " " << a[4] << " " << a[5] << endl;
        cout << sum;
        return 0;
    }
    
    
    • 1

    信息

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