算法基础之Nim游戏

Nim游戏

  • 核心思想:博弈论

    • 结论:将所有堆的石子数全部异或起来 得到的结果
    • 若为1 则先手必胜 若为0 则先手必败
cpp 复制代码
  #include <iostream>
  #include <cstring>
  #include <algorithm>
  
  using namespace std;
  const int N = 100010;
  
  int a[N];
  int n;
  
  int main()
  {
      cin>>n;
      int x;
      cin>>x;
      int res = x;
      for(int i=1;i<n;i++) cin>>x, res ^= x;
      
      if(res) puts("Yes");
      else puts("No");
  }
相关推荐
A.A呐13 小时前
【C++第二十四章】异常
开发语言·c++
wanderist.13 小时前
算法模板-字符串
数据结构·算法·哈希算法
xiaoye-duck13 小时前
《算法题讲解指南:动态规划算法--子序列问题》--29.最长递增子序列的个数,30.最长数对链,31.最长定差子序列
c++·算法·动态规划
森G13 小时前
39、拓展知识---------事件系统
c++·qt
Yzzz-F13 小时前
Problem - 2180D - Codeforces
算法
moonsea020313 小时前
2023.9.25
算法
汀、人工智能13 小时前
[特殊字符] Python基础语法速成教程
算法·链表·均值算法·哈希表·lru缓存·python基础语法速成教程
tankeven13 小时前
HJ164 太阳系DISCO
c++·算法
来自远方的老作者13 小时前
第7章 运算符-7.1 算术运算符
开发语言·数据结构·python·算法·算术运算符
君鼎14 小时前
C++17 新特性全面总结
c++