算法基础之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");
  }
相关推荐
吹什么轩7 小时前
c++复习:c++11:lambda表达式
开发语言·c++
不会代码的小猴7 小时前
标准模板库(STL)
开发语言·c++·笔记·算法
ZhouDevin7 小时前
算法论文/高效微调4——DoRA:权重分解的低秩适配方法
算法
AI探索先锋7 小时前
A* 路径规划:四种算法的进化史-学习
学习·算法
旖旎夜光7 小时前
LeetCode 202:快乐数(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
tudousisi2228 小时前
P1216 [IOI 1994 / USACO1.5] 数字三角形 题解复盘
c++
cpp_25018 小时前
P1113 [USACO02FEB] 杂务
数据结构·c++·算法·动态规划·图论·拓扑排序·洛谷题解
月光船幽幽8 小时前
门控函数SHS阈值与调制机制解析
人工智能·python·算法
此生决int8 小时前
深入理解C++系列(11)——stack、queue和priority_queue
开发语言·c++
Doraemomo9 小时前
数据结构-哈希表
数据结构·算法·散列表