模拟分糖果,不难
上代码
1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main() 6 { 7 int stu[1000]; 8 int in,c,flag,num; 9 while(~scanf("%d",&in),in){ 10 for(int i=0;i<in;i++){ 11 scanf("%d",&stu[i]); 12 } 13 c=0,flag=1,num; 14 while(1){ 15 c++;int a=stu[0]; 16 for(int i=0;i<in;i++){ 17 if(i==in-1){ 18 stu[i]=stu[i]/2+(a/2); 19 } 20 else{ 21 stu[i]=stu[i]/2+(stu[i+1]/2); 22 } 23 if(stu[i]%2==1) 24 stu[i]++; 25 } 26 27 for(int i=0;i<in-1;i++){ 28 if(stu[i]!=stu[i+1]){ 29 flag=0;break; 30 } 31 flag=1; 32 } 33 if(flag==1) 34 break; 35 } 36 printf("%d %d ",c,stu[0]); 37 } 38 return 0; 39 }