算法基础之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");
  }
相关推荐
KG_LLM图谱增强大模型3 分钟前
Vgent:基于图的多模态检索推理增强生成框架GraphRAG,突破长视频理解瓶颈
大数据·人工智能·算法·大模型·知识图谱·多模态
AA陈超6 分钟前
UE5笔记:GetWorld()->SpawnActorDeferred()
c++·笔记·学习·ue5·虚幻引擎
普通网友17 分钟前
C++中的适配器模式
开发语言·c++·算法
无敌最俊朗@35 分钟前
力扣hot100-160-相交链表
c++
普通网友39 分钟前
C++中的委托构造函数
开发语言·c++·算法
普通网友1 小时前
C++中的代理模式实战
开发语言·c++·算法
普通网友1 小时前
C++模块化设计原则
开发语言·c++·算法
864记忆1 小时前
Qt c++的基础语法有哪些?
开发语言·c++·qt
倦王2 小时前
力扣日刷251117
算法·leetcode·职场和发展
龙泉寺天下行走2 小时前
Vscode 配置C++ Mingw调试、编译环境-无需修改系统PATH变量的VS Code配置方法
c++·ide·vscode