题意:不正常的NIM游戏,谁最后拿谁输。
分析:除了全是1的情况之外,全部都是普通的NIM游戏。是1的情况就取余就行了。
代码如下:
#include <stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
int k=1;
while(t--){
int n;
int ans=0,x,sum=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&x);
sum^=x;
if(x!=1)ans=1;
}
if((ans==0&&n%2)||(ans==1&&sum==0))printf("Case %d: Bob\n",k++);
else printf("Case %d: Alice\n",k++);
}
return 0;
}