美文网首页
蓝桥-历届试题 分糖果(终极大水题)

蓝桥-历届试题 分糖果(终极大水题)

作者: myleosu | 来源:发表于2018-03-31 16:46 被阅读0次

题目描述
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:
每个小朋友都把自己的糖果分一半给左手边的孩子。
一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
输入
程序首先读入一个整数N(2< N< 100),表示小朋友的人数。
接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
输出
要求程序输出一个整数,表示老师需要补发的糖果数。
样例输入
3
2 2 4
样例输出
4
思路:一看一般人都想到是道模拟题,其实还真是...数据太小暴力模拟即可,注意用一个数组来存数据。
附上我的暴力模拟AC代码:

#include <iostream>
#include <cstdio>
#define MAXN 1000+10
using namespace std;
int a[MAXN],b[MAXN];
int main()
{
    int cnt = 0,n,flag;
    cin>>n;
    for(int i = 1;i<=n;i++)
        scanf("%d",&a[i]);
    while(1){
        flag = 0;
        for(int i = 2;i<=n;i++)
            if(a[i]!=a[1]) flag = 1;
        if(!flag) break;
        b[0] = a[n]/2;
        for(int i = 1;i<=n;i++){
            b[i] = a[i]/2;
            a[i]/=2;
            a[i]+=b[i-1];
            if(a[i]%2==1){
                cnt++;
                a[i]++;
            }
        }
    }
    cout<<cnt;
    return 0;
}

相关文章

  • 蓝桥-历届试题 分糖果(终极大水题)

    题目描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一...

  • 蓝桥杯 历届试题 分糖果

    问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一...

  • 优质题解:数字游戏

    原题链接:[蓝桥杯][历届试题]数字游戏 解题思路:【1】.首先是明确只能计算主角的数,如果计算了别人的数,那么时...

  • 优质题解:网络寻路

    原题链接:[蓝桥杯][历届试题]网络寻路分析题目要求: 【1】. 首相明确有两种目的地,一种是回到原点,一种是到...

  • 蓝桥-历届试题 翻硬币

    题目描述历届试题 翻硬币时间限制:1.0s 内存限制:256.0MB 问题描述 小明正在玩一个“翻硬币...

  • 蓝桥-历届试题 数字游戏

    题目描述栋栋正在和同学们玩一个数字游戏。游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。...

  • 蓝桥-历届试题 幸运数

    题目描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成 。首先从1开始写出自然数1,2,3,4...

  • 网络寻路

    原题链接:[蓝桥杯][历届试题]网络寻路 分析题目要求: 首相明确有两种目的地,一种是回到原点,一种是到达一个没有...

  • 蓝桥杯 历届试题 幸运数

    问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成首先从1开始写出自然数1,2,3,4,5...

  • 蓝桥杯练习系统历届试题

    PREV-1 核桃数量思路a,b,c 的最小公倍数利用gcd算法

网友评论

      本文标题:蓝桥-历届试题 分糖果(终极大水题)

      本文链接:https://www.haomeiwen.com/subject/qczgcftx.html