我们提供安全,免费的手游软件下载!

PP下载站永久免费软件下载站

当前位置: 主页 > 手赚资讯 > 游戏攻略

想不出名字来

来源:网络整理 更新时间:2024-08-09 01:04:06 点击:

题目描述

某个幼儿园里,有5位小朋友编号依次为1,2,3,4,5他们按照自己的编号顺序围坐在一张圆桌旁。他们身上有若干糖果,现在他们玩一个分糖果游戏。从1号小朋友开始,将自己的糖果均分成3份(如果有多余的糖果,就自己立即吃掉),自己留一份,其余两份分给和他相邻的两个小朋友。接着2,3,4,5号小朋友也这样做。问一轮结束后,每个小朋友手上分别有多少糖果。

输入格式

一行,5个用空格隔开的int范围内的正整数,分别是游戏开始时 1,2,3,4,5号小朋友手里糖果的数量。

输出格式

2行,第1行是用一个空格隔开的5个整数,表示一轮游戏结束后 1,2,3,4,5号小朋友手里糖果的数量。第2行是一个整数,表示一轮游戏过程中吃掉的糖果的总数。

输入输出样例

输入 #1

8 9 10 11 12

输出 #1

11 7 9 11 6
6

#include 
#include 
using namespace std;
int main() {
    // 创建一个大小为5的vector,用于存储5位小朋友的糖果数量
    vector candies(5);
    // 依次读入5位小朋友的糖果数量
    for (int i = 0; i < 5; ++i) {
        cin >> candies[i];
    }
    // 创建一个大小为5的vector,用于记录每个小朋友吃掉的糖果数量
    vector eaten(5, 0);
    // 模拟游戏过程,对每位小朋友进行糖果分配
    for (int i = 0; i < 5; ++i) {
        // 根据规则计算出要分出去的糖果数量
        int give_away = candies[i] / 3;
        // 记录当前小朋友实际吃掉的糖果数量
        eaten[i] += candies[i] % 3;
        // 更新当前小朋友手中的糖果数量
        candies[i] = give_away;
        // 将多余的糖果分给下一个小朋友
        candies[(i + 1) % 5] += give_away;
        // 将多余的糖果分给上一个小朋友
        candies[(i + 4) % 5] += give_away;
    }
    // 输出每位小朋友最终手中的糖果数量
    for (int i = 0; i < 5; ++i) {
        cout << candies[i] << " ";
    }
    cout << endl;
    // 计算一轮游戏过程中吃掉的糖果总数
    int total_eaten = 0;
    for (int i = 0; i < 5; ++i) {
        total_eaten += eaten[i];
    }
    // 输出一轮游戏过程中吃掉的糖果总数
    cout << total_eaten << endl;
    return 0;
}