HDU 1907 —— John

原题:http://acm.hdu.edu.cn/showproblem.php?pid=1907

题意:取法和Nim游戏一样,但是最后拿完的那个人是loser;

思路:需要考虑特殊情况 —— 最开始每堆的个数都为1,这个时候对堆数进行奇偶判断;


#include
using namespace std;
const int maxn = 50;
int cas, n;
int a[maxn];
int main(){
    cin>>cas;
    while(cas--){
        cin>>n;
        int x = 0;
        int cnt = 0;
        for(int i = 0;i>a[i];
            if(a[i] == 1)   cnt++;
            x = x^a[i];
        }
        if(cnt == n){
            if(n%2 == 0)    cout<<"John"<



你可能感兴趣的:(博弈,Nim,博弈)