hdu 1849 nim游戏

来源:互联网 发布:java实现一个迭代器 编辑:程序博客网 时间:2024/06/06 04:45

走棋子相当于n个石子堆,每次取石子,如果nim和为0,那么证明任意一个二进制位是1的个数均为偶数,每次从一堆里取石子,必定能从另一堆找到相同的方式取,所以先手必输.

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define MAX 1007using namespace std;int a,n;int main ( ){    while ( ~scanf ( "%d" , &n ) , n )    {        int ans = 0;        for ( int i = 1 ; i <= n ; i++ )        {            scanf ( "%d" , &a );            ans ^= a;        }        if ( ans ) puts ( "Rabbit Win!" );        else puts ( "Grass Win!" );    }}


0 0