算法基础之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");
  }
相关推荐
变量未定义~8 小时前
单调栈-四元组问题
数据结构·算法
冷小鱼8 小时前
AI Agent 核心算法:任务规划(Planning)的深度技术解析
人工智能·算法·planning
杜子不疼.8 小时前
【C++ 在线五子棋对战】- 会话管理模块实现
开发语言·c++
退休倒计时8 小时前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript
有点。9 小时前
C++深度优先搜索(DFS)的概念(一)
开发语言·c++·深度优先
旖-旎9 小时前
《LeetCode 978 最长湍流子数组 || LeetCode 139 单词拆分》
c++·算法·leetcode·动态规划
aaPIXa6229 小时前
C++大型项目模块化拆分实战记录
开发语言·c++
cxr8289 小时前
第16章 跨域迁移与能力融合——从专家到通才
人工智能·算法·智能体·hermes
石山代码9 小时前
C++23 新特性在 CLion 中的实战体验
开发语言·c++·c++23
学究天人9 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(补充卷9)
人工智能·线性代数·算法·数学建模·动态规划·原型模式·抽象代数