算法基础之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");
  }
相关推荐
云泽8089 小时前
从零搭建 WSL2 + Ubuntu C/C++ 开发环境:原理、实践与底层架构解析
linux·c++·windows·ubuntu·wsl2
不会就选b14 小时前
算法日常・每日刷题--<贪心>14
算法
初願致夕霞15 小时前
C++11:类型推导与完美转发复盘笔记
c++
小猪写代码15 小时前
C++中什么是类,什么是对象
c++
mmmmath_317 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z17 小时前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
醇氧18 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法
大熊背19 小时前
《Color constancy by characterization of illumination chromaticity》之色度色域最大化算法(二)
算法·白平衡·色度·色温
钓鱼的肝19 小时前
梳理(1-5)
c++·经验分享·笔记·算法·青少年编程