算法基础之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");
  }
相关推荐
吃好睡好便好13 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
王璐WL13 小时前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
视觉&物联智能13 小时前
【杂谈】-游戏生成数据:人工智能训练中极易被低估的核心资源
人工智能·游戏·ai·chatgpt·openai·agi·deepseek
不知名的忻14 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
运筹vivo@14 小时前
2657. 找到两个数组的前缀公共数组 | 难度:中等
算法·leetcode·职场和发展·哈希表
索木木15 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
Lumbrologist15 小时前
【C++】零基础入门 · 第 1 节:第一个程序 Hello World 与编译运行
开发语言·c++
_李小白16 小时前
【C++学习笔记】新特性之inline变量
c++·笔记·学习
心中有国也有家16 小时前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构
桀人16 小时前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++