HDU 1034 - Candy Sharing Game

模拟题

怎么给稍微麻烦一点

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int n,cnt;
 5 int a[10000];
 6 bool flag;
 7 int main()
 8 {
 9     while(~scanf("%d",&n)&&n)
10     {
11         for(int i=1;i<=n;i++) scanf("%d",&a[i]);
12         cnt=0;
13         flag=1;
14         while(flag)
15         {
16             cnt++;
17             for(int i=1;i<=n;i++) a[i]/=2;
18             int tmp=a[n];
19             for(int i=n;i>1;i--) a[i]+=a[i-1];
20             a[1]+=tmp;
21             for(int i=1;i<=n;i++) if(a[i]&1) a[i]++;
22             flag=0;
23             for(int i=2;i<=n;i++)
24             {
25                 if(a[i-1]!=a[i]) {
26                     flag=1; break;
27                 }
28             }
29         }
30         printf("%d %d\n",cnt,a[1]);
31     }
32 }

 

posted @ 2016-04-29 16:53  nicetomeetu  阅读(125)  评论(0编辑  收藏  举报