poj2234 Matches Game博弈论

来源:互联网 发布:post请求返回json数据 编辑:程序博客网 时间:2024/05/16 09:29

题意:有M堆石子,每堆石子的数量已知,有两个玩家,轮流从这些石子中选取某一堆从中拿走若干个,至少拿一个,也可以全拿走,问先手能否取胜

最基本的Nim博弈,直接异或运算

#include<cstdio>#include<iostream>using namespace std;int main(){int n,a[25];while(cin>>n){    for(int i=1;i<=n;i++)        cin>>a[i];        int x=a[1];    for(int i=2;i<=n;i++)        x=x^a[i];    if(x!=0)        cout<<"Yes"<<endl;    else cout<<"No"<<endl;}}


1 0
原创粉丝点击