poj 1666 Candy Sharing Game

纯模拟,读懂题就能做,注意下hit就行了
#include <stdio.h>

int n;
int num[2000], t[2000];

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

int main()
{
    
while ( EOF != scanf("%d"&n) && n )
    {
        
int i, m = 0;
        
for ( i = 0; i < n ; i++ )
            scanf(
"%d", num+i);
        
while (init())
        {
            m
++;
            
for ( i = 0; i < n; i++ )
            {
                num[i]
>>=1;
                t[(i
+1)%n]=num[i];
            }
            
for ( i = 0 ; i < n ; i++ )
                num[i]
+=t[i];
        }
        printf(
"%d %d\n", m, num[0]);
    }
    
return 0;
}

posted on 2011-08-11 00:30 purplest 阅读(360) 评论(0)  编辑 收藏 引用 所属分类: 模拟


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2011年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿

随笔分类(70)

随笔档案(68)

ACMer

搜索

最新随笔

最新评论