算法基础之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");
  }
相关推荐
程序员-King.2 分钟前
day165—递归—最长回文子序列(LeetCode-516)
算法·leetcode·深度优先·递归
BHXDML7 分钟前
推导神经网络前向后向传播算法的优化迭代公式
神经网络·算法·机器学习
2401_841495647 分钟前
【LeetCode刷题】删除链表的倒数第N个结点
数据结构·python·算法·leetcode·链表·遍历·双指针
FairGuard手游加固15 分钟前
如何检测游戏直装破解
游戏
叫我:松哥17 分钟前
基于YOLO深度学习算法的人群密集监测与统计分析预警系统,实现人群密集度的实时监测、智能分析和预警功能,支持图片和视频流两种输入方式
人工智能·深度学习·算法·yolo·机器学习·数据分析·flask
你撅嘴真丑18 分钟前
STL练习
开发语言·c++·算法
bybitq23 分钟前
cmake构建c++项目时,vscode/cursor无法识别头文件路径,导致报错,解决方案
开发语言·c++·vscode
苦藤新鸡26 分钟前
28.两数相加,进位制
数据结构·算法·链表·力扣
Lips61132 分钟前
第七章 贝叶斯分类器
人工智能·算法·机器学习
无限进步_32 分钟前
二叉搜索树(BST)详解:从原理到实现
开发语言·数据结构·c++·ide·后端·github·visual studio