算法基础之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");
  }
相关推荐
田梓燊1 分钟前
leetcode 73
算法·leetcode·职场和发展
TTTrees6 分钟前
C++学习笔记(38):封装、继承、多态
c++
howlet27 分钟前
AI生成cocos-creator打砖块游戏-准备工作
人工智能·游戏
ZPC82109 分钟前
相机接入ROS2 流程及问题排查
人工智能·算法·机器人
2501_940315269 分钟前
【无标题】两个相同字符串中不同字符的个数
算法·哈希算法·散列表
6Hzlia13 分钟前
【Hot 100 刷题计划】 LeetCode 54. 螺旋矩阵 | C++ 模拟法题解
c++·leetcode·矩阵
RPGMZ15 分钟前
RPGMakerMZ 游戏引擎 野外采集点制作
javascript·游戏·游戏引擎·rpgmz·野外采集点
算法鑫探18 分钟前
显示器插座最短连线算法(蓝桥杯十六届C组编程题第二题)
c语言·数据结构·算法·排序算法·新人首发
akarinnnn24 分钟前
【DAY15】:深⼊理解指针(6)
算法
Lauren_Blueblue28 分钟前
第十六届蓝桥杯省赛Python研究生组-C变换数组
python·算法·蓝桥杯·编程基础