(完整word版)分糖果游戏.doc
上传人:一吃****福乾 上传时间:2024-09-11 格式:DOC 页数:2 大小:31KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

(完整word版)分糖果游戏.doc

(完整word版)分糖果游戏.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://acm.hrbust.edu.cn/contests/index.php?act=showproblem&cid=238&p=A"分糖果游戏10个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖果分一半给左边的小孩;糖块为奇数的人可向老师要一块。问经过这样几次后,大家手中的糖的块数将一样多?每人各有多少块糖?Input多组数据,每组数据10个数,分别为游戏开始时,每个小孩手中的糖果数。Output游戏结束后,游戏的次数及每人的中的糖果数。SampleInput1028221641061420SampleOutput1718#include<iostream>usingnamespacestd;intmain(){intx[10];intleft[10];intright[10];while(cin>>x[0]){for(inti=1;i<10;i++)//输入10个数。cin>>x[i];intpp=0;//这是进行游戏的次数统计。for(;;pp++){intss=0;for(inti=0;i<9;i++){if(x[i]==x[i+1])ss++;}if(ss==9)//如果10个数都相等,则break;break;for(inti=0;i<10;i++)//left存放某人即将要分给左边小朋友的糖果,right存放某人剩下的糖果。{if(x[i]%2==0){left[i]=x[i]/2;right[i]=x[i]-left[i];}else{left[i]=(x[i]+1)/2;right[i]=x[i]+1-left[i];}}x[9]=right[9]+left[0];for(inti=0;i<9;i++)//10个人同时向左给出去糖果。。⊙﹏⊙b汗~~~{x[i]=right[i]+left[i+1];}}cout<<pp<<""<<x[0]<<endl;}}