http://acm.hdu.edu.cn/showproblem.php?pid=1034 整體來說 是水題 但是自己的英文不好導致 失誤
//之前是題意理解錯誤 以為是循環給 并不是 先 1給2 再2 給3
//后來才知道是一次 性 老師是吹一次給一次 。。
# include <stdio.h>

int fun(int temp[],int n)


{
int i;
for(i = 0; i < n;i ++)
if(temp[i]%2==1)
temp[i] ++;
for(i = 0; i < n; i ++)
if(temp[i] != temp[(i+1+n)%n])
return 0;

return 1;
}

int main()


{
int n,i,j,flag = 0,count = 0,ans = 0,num = 0;
int data[100000] ,data1[100000];
while (scanf("%d",&n),n)

{
for(i = 0; i < n;i ++)
scanf("%d",&data[i]);
flag = 0;count = 0,num=0;
while(fun(data,n)==0)

{
for(ans = 0,i = 0; i < n;i++)

{
data1[i] = data[i] / 2;
data[i]/=2;
}
for(ans = 0,i = 0; i < n;i++)

{
data[i] += data1[(i-1+n)%n];
}count ++;
}
printf("%d %d\n",count,data[0]);
}
return 0;
}

posted on 2010-04-11 22:35
付翔 閱讀(350)
評論(0) 編輯 收藏 引用