zoukankan      html  css  js  c++  java
  • P2197 【模板】nim游戏

    博弈初心者。。。

    学习地址luogu上可以找到。关于比较好的证明地址放在了地址页里了。这里不再赘述。

    大概感觉还是所谓先手必胜就是面对当前局面一定可以采取一种策略,然后后手无论再怎么做,先手都可以“控制”住局面的稳态,使得后手打乱的状态恢复回来,随着集合可操作物品(石子)减少从而使自己获胜。而这种采取一种策略使得后手无论怎么做都负(所谓先手必负)的情况就是所谓的必胜。感觉很迷啊,只能感性理解了。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<cmath>
     6 #define dbg(x) cerr << #x << " = " << x <<endl
     7 using namespace std;
     8 typedef long long ll;
     9 typedef double db;
    10 typedef pair<int,int> pii;
    11 template<typename T>inline T _min(T A,T B){return A<B?A:B;}
    12 template<typename T>inline T _max(T A,T B){return A>B?A:B;}
    13 template<typename T>inline char MIN(T&A,T B){return A>B?(A=B,1):0;}
    14 template<typename T>inline char MAX(T&A,T B){return A<B?(A=B,1):0;}
    15 template<typename T>inline void _swap(T&A,T&B){A^=B^=A^=B;}
    16 template<typename T>inline T read(T&x){
    17     x=0;int f=0;char c;while(!isdigit(c=getchar()))if(c=='-')f=1;
    18     while(isdigit(c))x=x*10+(c&15),c=getchar();return f?x=-x:x;
    19 }
    20 int T,n,x,sum;
    21 int main(){//freopen("test.in","r",stdin);//freopen("test.out","w",stdout);
    22     read(T);while(sum=0,T--){
    23         read(n);for(register int i=1;i<=n;++i)sum^=read(x);
    24         puts(sum?"Yes":"No");
    25     }
    26     return 0;
    27 }
  • 相关阅读:
    REST API注意事项
    Javascript addEventListener dispatchEvent
    Javascript常见操作
    MySql运算符
    Mysql数据类型
    MySql基本命令
    php学习
    javascript学习
    如何快速掌握一种技术
    站在K2角度审视流程--任务的独占与释放
  • 原文地址:https://www.cnblogs.com/saigyouji-yuyuko/p/11448710.html
Copyright © 2011-2022 走看看