题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3389
你会发现所有的纸牌最终都会移动到1,3,4这三个箱子中,并且每6个箱子中,各有两个箱子移动到1,3,4箱子中,不存在一个箱子最后的位置是不可预测的。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int a[10009];
int main()
{
int t;
int ans1;
scanf("%d",&t);
ans1=1;
while(t--)
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
int ans=0;
printf("Case %d: ",ans1++);
for(int i=1;i<=n;i++)
{
int x=i%6;
if(x==0||x==2||x==5)
ans^=a[i];
}
if(ans)
printf("Alice\n");
else
printf("Bob\n");
}
return 0;
}