算法基础之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");
  }
相关推荐
橘颂TA4 分钟前
【剑斩OFFER】算法的暴力美学——leetcode 429 题:N 叉树的层序遍历
算法
"YOUDIG"6 分钟前
信稿笺纸设计工具:传统排版美学与数字化设计的高效融合
科技·考研·算法·面试·职场和发展·高考
程序员-King.6 分钟前
day126—二分查找—寻找旋转排序数组中的最小值(LeetCode-153)
算法·leetcode·二分查找
菜鸟233号6 分钟前
力扣494 目标和 java实现
java·数据结构·算法·leetcode
有一个好名字7 分钟前
力扣-字符串解码
java·算法·leetcode
李日灐8 分钟前
C++STL:deque、priority_queue详解!!:详解原理和底层
开发语言·数据结构·c++·后端·stl
sali-tec11 分钟前
C# 基于OpenCv的视觉工作流-章9-均值滤波
人工智能·opencv·算法·计算机视觉·均值算法
万行12 分钟前
机器学习&第六.七章决策树,集成学习
人工智能·python·算法·决策树·机器学习·集成学习
sin_hielo13 分钟前
leetcode 1266
数据结构·算法·leetcode
羑悻的小杀马特16 分钟前
etcd实战指南:从安装集群到C++封装,解锁分布式服务治理的“钥匙”
c++·分布式·etcd·集群