算法基础之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");
  }
相关推荐
203号居民6 分钟前
LeetCode hot 100 — 25. K 个一组翻转链表
算法·leetcode·链表
ocean21031 小时前
2025-2026年AI算法与模型研发面试高频知识点洞察
人工智能·算法·面试
Nil2081 小时前
leetcode 78子集
数据结构·算法·leetcode
喜欢吃燃面2 小时前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
en.en..2 小时前
Linux fork() 工作原理
数据结构·算法
FlightYe2 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
地平线开发者3 小时前
bevformer算法模型详细解读
算法
liliangcsdn3 小时前
ICIR权重矩阵如何加权标准化为综合因子
算法
ShineWinsu3 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
云小逸3 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++