算法基础之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");
  }
相关推荐
努力学算法的蒟蒻14 小时前
day47(12.28)——leetcode面试经典150
算法·leetcode·面试
byzh_rc14 小时前
[算法设计与分析-从入门到入土] 复杂算法
数据库·人工智能·算法·机器学习·支持向量机
2401_8414956414 小时前
Python适合开发的游戏
python·游戏·pygame·tkinter·panda3d·arcade·ursina
Sunsets_Red14 小时前
待修改莫队与普通莫队优化
java·c++·python·学习·算法·数学建模·c#
爱学习的梵高先生14 小时前
C++:友元
开发语言·c++
星火开发设计14 小时前
深度优先搜索(DFS)详解及C++实现
c++·学习·算法·计算机·深度优先·大学生·期末考试
郝学胜-神的一滴14 小时前
Linux线程错误调试指南:从原理到实践
linux·服务器·开发语言·c++·程序人生
KingRumn15 小时前
玩转DBus命令行工具之gdbus使用
linux·算法
二狗哈15 小时前
Cesium快速入门34:3dTile高级样式设置
前端·javascript·算法·3d·webgl·cesium·地图可视化
@卞15 小时前
排序算法(2)--- 选择排序
算法·排序算法