Thursday, 27 July 2017

Lightoj 1296 - Again Stone Game

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int dp[10005];
  4. int cal(int n){
  5.     if(n<=2){
  6.         return 0;
  7.     }
  8.     if(n&1){
  9.         return cal(n>>1);
  10.     }
  11.     return n>>1;
  12. }
  13.  
  14. int main()
  15. {
  16.     int tc;
  17.     cin>>tc;
  18.     memset(dp, -1sizeof(dp));
  19.     for(int p = 0; p < tc; ++p){
  20.     int n;
  21.     cin>>n;
  22.     int ans = 0;
  23.     for(int i = 0; i <n; i++){
  24.         int a;
  25.         cin>>a;
  26.         ans^= cal(a);
  27.     }
  28.     if(ans) cout<<"Case "<<(p+1)<<": "<<"Alice"<<endl;
  29.     else cout<<"Case "<<(p+1)<<": "<<"Bob"<<endl;
  30.     }
  31.     return 0;
  32. }

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...