算法基础之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");
  }
相关推荐
草原上唱山歌2 分钟前
推荐使用的C++ IDE
开发语言·c++·ide
wregjru20 分钟前
【C++】2.9异常处理
开发语言·c++·算法
CoovallyAIHub20 分钟前
如何用10%的标注数据,达到可媲美全监督模型的性能?AAAI 2026论文揭秘BCSI三大创新设计
深度学习·算法·计算机视觉
玖釉-24 分钟前
[Vulkan 学习之路] 19 - 顶点缓冲区:顶点输入描述 (Vertex Input Description)
c++·windows·图形渲染
肆悟先生25 分钟前
3.18 constexpr函数
开发语言·c++·算法
别在内卷了27 分钟前
三步搞定:双指针归并法求两个有序数组的中位数(Java 实现)
java·开发语言·学习·算法
txinyu的博客27 分钟前
select/poll/epoll
linux·c++
n***333535 分钟前
C++跨平台开发:挑战、策略与未来
开发语言·c++
D_evil__38 分钟前
【Effective Modern C++】第一章 类型推导:1.理解模板类型推导
c++
范纹杉想快点毕业39 分钟前
C语言100个经典编程练习题(完整标题+清晰排版)
运维·c语言·单片机·嵌入式硬件·算法