892. 台阶-Nim游戏

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了892. 台阶-Nim游戏相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
https://www.acwing.com/problem/content/894/
结论:
假设n堆石子,石子数目分别是a1,a2,…,an,如果a1⊕a3⊕a5…⊕an≠0,先手必胜;否则先手必败。
即只看奇数的异或和

#include<cstdio>
#include<iostream>
using namespace std;
int main(void)
{
    int n; cin>>n;
    int res=0;
    for(int i=1;i<=n;i++)
    {
       int x; cin>>x;
       if(i%2)res=res^x;
    }
    if(res) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
    return 0;
}

以上是关于892. 台阶-Nim游戏的主要内容,如果未能解决你的问题,请参考以下文章

AcWing 892. 台阶-Nim游戏(nim博弈变种)

博弈论Nim游戏:台阶集合拆分(AcWing)

博弈论

博弈论

LeetCode刷题NIM游戏:妙解

Codeforces 892E Envy