1 条题解
-
0
C++ :
//题目说的是一个分糖果的游戏,n个学生围成一圈,每个人手上有a[i]个糖果,每一轮游戏开始时,学生手中的糖果都是偶数,他们都把自己手中一半的糖果分给他右边的同学。分完后手中糖果数是奇数的,老师会给他一颗糖果。如果所有人手中的糖果数都一样 游戏结束。 // 输出总共进行了多少轮游戏 还有最后学生手中的糖果数。 #include "stdio.h" int main() { int n,a[1000],s[1000]; while(1) { scanf("%d",&n); if(n==0) break; int i; for(i=0;i<n;i++) //初始化 scanf("%d",&s[i]); int count=0; while(1) //开始吹口哨 { for(i=0;i<n;i++) { if(s[i]%2==1) a[i]=s[i]+1; else a[i]=s[i]; } for(i=0;i<n-1;i++) if(a[i]!=a[i+1]) break; if(i==n-1) break; for(i=1;i<=n;i++) { s[i%n]=a[i%n]/2+a[i-1]/2; } count++; } printf("%d %d\n",count,a[0]); } return 1; }
- 1
信息
- ID
- 1486
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者