7-21 分糖果 (40分)

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

每个小朋友都把自己的糖果分一半给左手边的孩子。

一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。

反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

输入格式:

程序首先读入一个整数N(2

接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)

输出格式:

要求程序输出一个整数,表示老师需要补发的糖果数。

输入样例:

在这里给出一组输入。例如:

3

2 2 4

输出样例:

在这里给出相应的输出。例如:

4

要注意最后一个小朋友的糖果数要加上第一个小朋友的,因为是围成圈坐,然后其他的小朋友的糖果数就等于自己的糖果数除以2加上在他右边的小朋友的糖果数除以2。

int t=a[0];

for(int i=0;i

{

a[i]=a[i]/2+a[i+1]/2;

}

a[n-1]=a[n-1]/2+t/2;

这里要注意要提前用一个变量t将a[0]也就是第一个小朋友的糖果数存起来,因为在循环之后第一个小朋友的糖果数已经改变了,在算最后一个小朋友的糖果数的时候应该用第一个小朋友的起始糖果数来计算。

比较所有小朋友的糖果数是否相等的时候,我用了另一个数组b[n],然后用fill函数将b[n]数组的所有值都赋值为a[0]的值,再用equal函数来比较a数组和b数组是否相等,如果相等就说明a数组中所有小朋友的糖果数都相等。

fill(b,b+n,a[0]);

if(!equal(a,a+n,b))

{

flag=1;

}

( fill()函数可以把数组或容器中的某一段区间赋为某个相同的值。

equal(first1,last1,first2)比较两个数组是否相等,first1、last1表示输入序列1的范围,区间[first1,last1),first2表示序列2的起点

)

代码实现

#include

#include

using namespace std;

int main()

{

int n;

cin>>n;

int a[n],b[n];

for(int i=0;i

{

cin>>a[i];

}

int flag=1,cnt=0;

while(flag)

{

flag=0;

int t=a[0];

for(int i=0;i

{

a[i]=a[i]/2+a[i+1]/2;

}

a[n-1]=a[n-1]/2+t/2;

for(int i=0;i

{

if(a[i]%2)

{

a[i]++;

cnt++;

}

}

fill(b,b+n,a[0]);

if(!equal(a,a+n,b))

{

flag=1;

}

}

cout<

}

python分糖果_分糖果相关推荐

  1. python分治算法_分治法及其python实现例子

    在前面的排序算法学习中,归并排序和快速排序就是用的分治法,分治法作为三大算法之一的,有非常多的应用例子. 分治法概念 将一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题-- ...

  2. python分糖果_分糖果_平安科技笔试题_牛客网

    import java.util.Arrays; import java.util.Scanner; /** * n 个小朋友坐在一排,每个小朋友拥有 ai 个糖果,现在你要在他们之间转移糖果,使得最 ...

  3. python 抢单脚本_分享用Python写的99收抢单小脚本,仅供学习

    实测挂2~3分钟可以刷到个10元,哈哈 在前面填写账号密码还有99开发者中心的私钥,然后用Python2跑即可 抢到单会自动暂停,但不会任何通知,请记得留意Log输出#!/usr/bin/python ...

  4. ios分屏_分屏插件更新支持 A12,一心二用真滴爽

    在众多iOS越狱插件中,总有几款亘古不变的插件一直深受大家的喜爱,分屏类插件就是其中之一. 之前老地在介绍过几款好用的分屏 App,但是因为自己手持"真香" Xr 机,而之前介绍的 ...

  5. java 分部类_分部类 - Tekkaman - 博客园

    [分部类] 可以将类或结构.接口或方法的定义拆分到两个或多个源文件中.每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组合起来.如: 使用partial的几个要点: 1.所有部分都必须 ...

  6. 58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)

    1. 数组去重 题目描述 /*** 有序数组去重* 输出最终的数字个数* 输入:1,2,2* 输出:2* @author Turing**/ 代码 import java.util.*; public ...

  7. 有一个糖果店的糖果有三种包装,分别是小包有6颗,中包有9颗,大包有20颗,如果我们只按整包买糖果,请问不能买到的糖果数最多是多少颗?

    有一个糖果店的糖果有三种包装,分别是小包有6颗,中包有9颗,大包有20颗,如果我们只按整包买糖果,请问不能买到的糖果数最多是多少颗? 小包6个 中包9个 则所有大于6的且是3的倍数的正整数都可买到(被 ...

  8. 【每日leetcode】分糖果、分糖果II

    分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果.你需要把这些糖果平均分给一个弟弟和一个妹妹.返回妹妹可以获得的最大糖果的种类数. 示例 1: 输入: can ...

  9. python决策树分箱_快速分箱方法

    python 分箱的一种方法 2018.08.02 R语言中有smbining可以进行最优分箱,python中分箱如果既要考虑箱体个数,分箱后信息量大小,也要考虑单调性等其他因素. 这里给出一种简单的 ...

最新文章

  1. 彻底理解cookie,session,localStorage(附代码)
  2. html每个段落空前空两格,科普:为什么段落开始要空两格(两个汉字)?
  3. 机器学习入门-Knn算法
  4. PocoClassGenerator:RDBMS所有表/视图生成Dapper POCO类代码
  5. 解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题
  6. zw版【转发·台湾nvp系列Delphi例程】HALCON HistoToThresh1
  7. 论文笔记-深度估计(4) Semi-Supervised Deep Learning for Monocular Depth Map Prediction
  8. python新手入门到大师_GitHub - FainBleeze/Python-100-Days: Python - 100天从新手到大师
  9. 堪比阿里插件的Android Studio插件集合(IDE通用)(下)
  10. ansys中使用模态叠加法进行谐响应分析与模态分析的关系
  11. python滑稽脸_使用python的turtle绘画滑稽脸实例
  12. 科普知识------世界洋流[地球上有哪些洋流]
  13. ictclas分词系统 java_1-Ictclas50分词系统ForJava
  14. mysql 改列定义_如何更改MySQL列定义?
  15. [HEOI2013] 钙铁锌硒维生素
  16. Java开发学习进阶路线
  17. 凯文·凯利:流动、共享、颠覆,未来20年的 12大技术趋势
  18. windows和ubuntu双系统,ubuntu下硬盘变成只读状态,无法粘贴文件的有效解决方法
  19. 计算机基础操作(计算机硬件知识)
  20. Python 删除列表中指定的元素

热门文章

  1. 北京大学肖臻老师《区块链技术与应用》公开课笔记13——BTC匿名性篇2(零知识证明)
  2. vue使用DPlayer播放摄像头
  3. python输出到语音播放_python将文本转化成语音并播放
  4. 控件必须放在RUNAT=”SERVER”的窗体内的解决方法
  5. Android studio 生成logo
  6. 13个可实现超棒数据可视化效果的Javascript框架
  7. 基于条纹投影的结构光3D成像的研究分享
  8. 基于准则的结构化决策指南_如何记录团队技术决策的指南
  9. 计算机编程种常见的几种编码详解
  10. Studio One5数字音乐制作工具