Thursday 27 July 2017

Lightoj 1253 - Misere Nim

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int tc, n, m;
  6.   scanf("%d"&tc);
  7.   for (int p = 0; p < tc; ++p) {
  8.     cin>>n;
  9.     int nim= 0, ones = 0;
  10.     for(int i = 0; i <n; i++){
  11.         int a;
  12.         cin>>a;
  13.         nim^= a;
  14.         ones += (a==1);
  15.     }
  16.     if(ones == n){
  17.         if(ones&1) cout<<"Case "<<(p+1)<<": "<<"Bob"<<endl;
  18.     else cout<<"Case "<<(p+1)<<": "<<"Alice"<<endl;
  19.     }
  20.     else{
  21.         if(nim) cout<<"Case "<<(p+1)<<": "<<"Alice"<<endl;
  22.     else cout<<"Case "<<(p+1)<<": "<<"Bob"<<endl;
  23.     }
  24.   }
  25.     return 0;
  26. }

No comments:

Post a Comment

Most Featured Post

Lightoj 1159 - Batman

http://lightoj.com/volume_showproblem.php?problem=1159 problem analysis: First i thought of this as if s1, s2 and s3 are those three str...