简单的Nim博弈,输出赢有多少种方法。
#include <stdio.h>
int main()
{
int n,i,a[1005];
while(scanf("%d",&n),n)
{
scanf("%d",&a[1]);
int sum=a[1];
for(i=2;i<=n;i++)
{
scanf("%d",&a[i]);
sum^=a[i];
}
if(sum==0)
{
printf("0\n");
continue;
}
int num=0;
for(i=1;i<=n;i++)
{
if((sum^a[i])<a[i])
num++;
}
printf("%d\n",num);
}
return 0;
}