zoukankan      html  css  js  c++  java
  • S-Nim

    http://acm.hdu.edu.cn/showproblem.php?pid=1536

    SG经典题,不多说

    // File Name: hdu1536.cpp
    // Author: bo_jwolf
    // Created Time: 2013年09月30日 星期一 18:23:53
    
    #include<vector>
    #include<list>
    #include<map>
    #include<set>
    #include<deque>
    #include<stack>
    #include<bitset>
    #include<algorithm>
    #include<functional>
    #include<numeric>
    #include<utility>
    #include<sstream>
    #include<iostream>
    #include<iomanip>
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<ctime>
    
    using namespace std;
    
    const int N = 105 ;
    const int MAXN = 10100;
    bool vis[MAXN];
    int sg[MAXN];
    int si[ MAXN ] , n ;
    int Getsg( int N )
    {//printf( " n = %dn",n );
        int hash[105] = {0};
        for( int i = 0; i < n && si[i] <= N; ++i )
        {
             if( sg[N-si[i]] == -1 )
                 sg[N-si[i]] = Getsg( N - si[i] );
             hash[sg[N-si[i]]] = 1;
         }
         for( int i = 0; ; i++ )
              if( !hash[i] )
                  return i;
    }
    
    int main(){
        int temp , ans , m  ; 
        while( scanf( "%d" , &n ) != EOF && n ){
            for( int i = 0 ; i < n ; ++i ){
                scanf( "%d" , &si[ i ] ) ;
            }
            memset( sg , -1 , sizeof( sg ) ) ;
            sort( si , si + n ) ;
            int Case ;
            scanf( "%d" , &Case ) ;
            while( Case-- ){
                scanf( "%d" , &m ) ;
                ans = 0;
                for( int i = 0 ; i < m ; ++i ){
                    scanf( "%d" , &temp ) ;
                    ans ^= Getsg( temp ) ;
                }
                if( ans ==  0 ) cout << "L"  ;
                else cout << "W"  ;
            }
            cout << endl ;
        }
    return 0;
    }


  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/riskyer/p/3347929.html
Copyright © 2011-2022 走看看