思路:因爲數據很大,先經過打表找規律能夠知道,ide
當n爲偶數的時候其SG值爲n/2;spa
當n爲奇數的時候一直除2,直到爲偶數m,則SG值爲m/2;code
代碼以下:blog
1 #include<stdio.h> 2 int cal(int m) 3 { 4 while(m&1) m>>=1; 5 return m>>1; 6 } 7 int main() 8 { 9 int t,n,ca=0,a; 10 scanf("%d",&t); 11 while(t--){ 12 scanf("%d",&n); 13 int ans=0; 14 for(int i=0;i<n;i++){ 15 scanf("%d",&a); 16 ans^=cal(a); 17 } 18 printf("Case %d: %s\n",++ca,ans?"Alice":"Bob"); 19 } 20 return 0; 21 }