游客 Signup | Login
中文 | En

3687 - 复杂博弈

天,我真是受够了!我的弟弟,你不知道我是谁?我就是简单博弈那个小学生A的哥哥大学生!我的弟弟又跟他

的朋友小学生B在玩游戏 

你问我为什么想知道简单博弈我的弟弟能不能赢?因为我弟弟输了我得帮忙堵校门口啊! 这不,这次我又得知道

我弟弟能不能赢了。

他们这次玩的比较高级,有n个位置,每个位置放置ai 个石头,一次操作只能从1堆中取,每次取走至少1个,

过后可以把取走的石头

任意分配到其它位置(石头数不为0),如果谁不能进行这个操作了,那他就输了。还是我弟弟先手。
1<=n<=10
1<=ai<=100

Input

第一行输入n
第二行输入ai

Output

如果能赢,输出1,否则输出0

Examples

Input

3
2 1 3
2
1 1

Output

1
0

Solution C

#include<stdio.h>
int main()
{
	int x,b,i;
	while(scanf("%d",&x)==1)
	{
		for(i=1;i<=x;i++)
			scanf("%d",&b);
		if(x%2==1)printf("1\n");
		else printf("0\n");
	}
	return 0;
}

Solution C++

#include<stdio.h>
#include<string.h>
int main ()
{
    int n,num[120],x,flag;
    int i,j,k;
    while (scanf("%d",&n)!=EOF)
    {
    	if(n==0)
    	break;
        memset(num,0,sizeof(num));
        for (i=0;i<n;++i)
        {
            scanf("%d",&x);
            num[x]++;
        }
        flag=0;
        for (i=1;i<101;++i)
        {
            if (num[i]&1)
            {
                flag=1;
                break;
            }
        }
        printf("%d\n",flag);
    }
    return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题