算法基础之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");
  }
相关推荐
纪念 2295 小时前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..5 小时前
【C语言】函数
c语言·算法
zwc32104320555 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
重生之小比特6 小时前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟
道尔柯南6 小时前
C++ 内存管理详解:从 malloc/free 到 new/delete
c++·面试
東隅已逝,桑榆非晚6 小时前
AVL数实现
c++·笔记·学习·算法
思想觉悟6 小时前
SEAndroid实战
android·linux·c++
驭渊的小故事7 小时前
LeetCode 算法题解:滑动窗口与数组合并的实战应用
算法·leetcode·职场和发展
.YM.Z7 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
思想觉悟7 小时前
Aosp开发磨刀石之ADB速查
android·c++