C++ 数论相关题目 台阶-Nim游戏-程序员宅基地

技术标签: 算法  力扣  c++  数论  游戏  算法笔记  

现在,有一个 n
级台阶的楼梯,每级台阶上都有若干个石子,其中第 i
级台阶上有 ai
个石子(i≥1
)。

两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。

已经拿到地面上的石子不能再拿,最后无法进行操作的人视为失败。

问如果两人都采用最优策略,先手是否必胜。

输入格式
第一行包含整数 n

第二行包含 n
个整数,其中第 i
个整数表示第 i
级台阶上的石子数 ai

输出格式
如果先手方必胜,则输出 Yes。

否则,输出 No。

数据范围
1≤n≤105
,
1≤ai≤109
输入样例:
3
2 1 3
输出样例:
Yes

Nim游戏变种,只需异或全部奇数台阶上的石子的个数,如果不是0,先手胜利。
在这里插入图片描述

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 100010;
int a[N];

int main ()
{
    
    int n;
    cin>>n;
    
    int res = 0;
    for(int i = 1; i <= n; i ++)
        cin>>a[i];
        
    for(int i = 1; i <= n; i += 2) //只记录奇数台阶上的
        res ^= a[i];
    
    if(res) puts("Yes");
    else puts("No");
    
    return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45281807/article/details/135941761

智能推荐

FMEA七步法-新版FMEA手册六大变化_新版fmea和旧版fmea区别点-程序员宅基地

文章浏览阅读3.4k次。由旧版的“五步法”变为“七步法”,新版FMEA强调“七步法”中的分析结构,力图用结构化的表格固化分析过程,表格包含三级结构关系(上一层级、本层级、下一层级),避免出现以前只关注FMEA表格本身,以及结构不明、层次不清等问题,并支持整个FMEA的分析和应用过程。新版FMEA强调了顾客和组织、组织内部、设计团队与管理层、产品与制造过程,以及系统、子系统、组件、零件等各层级之间的有效沟通和协作,并在七步法中明确提出了针对FMEA活动的结果进行总结和交流的要求,形成FMEA报告,方便内外部沟通使用。_新版fmea和旧版fmea区别点

python竖线运算符-Python中的运算符-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏3次。说完常用的数据类型,再来说下运算符。运算符用于将各种类型的数据进行运算,让静态的数据跑起来。编程语言中的运算大致分为以下几个大类:算术运算, 用于加减乘除等数学运算赋值运算,用于接收运算符或方法调用返回的结果比较运算, 用于做大小或等值比较运算逻辑运算,用于做 与、或、非运算位运算, 用于二进制运算每种运算中所包含的符号称为相应的运算符,如 算术运算符、比较运算符等。一、算术运算运算(符)说明实例..._在python中,竖直的符号怎么输入

centos7编译grpc源码_centos grpc 怎么编译-程序员宅基地

文章浏览阅读92次。centos升级gcc v7:_centos grpc 怎么编译

TIM输出比较 P2 PWM控制呼吸灯-程序员宅基地

文章浏览阅读679次,点赞29次,收藏5次。我的理解是xO1 = xIN1 & PWMx;引入PWMx可以更方便的控制特定的电路。四、函数学习/*****单独设置输出比较极性*****///带N的就是高级定时器里互补通道的配置//OC4没有互补通道//结构体初始化也可以设置极性,这里就是单独更改输出极性的,两者效果一样/*****单独修改输出使能参数*****//*****单独更改输出比较模式*****/

少儿编程 2023年12月电子学会图形化编程等级考试Scratch二级真题解析(选择题)_推箱子地图第一行111111,第二行-程序员宅基地

文章浏览阅读151次。​2023年12月scratch编程等级考试二级真题选择题(共25题,每题2分,共50分)1、在制作推箱子游戏时,地图是用数字形式储存在电脑里的,下图是一个推箱子地图,地图表示如下:第一行( 111111)第二行( 132231) 第三行( 126621) 第四行( ) 第五行( 152321) 第六行( 111111 ) 根据规律,第四行应该用哪些数字表示A、( 152121 )B、( 162121 )C、( 122121 )D、( 132121 )答案:B考点分析:考查_推箱子地图第一行111111,第二行

Halcon的Hobject和Opencv的Mat数据类型之间的超快速转换方法_halcon和cvmat数据转换-程序员宅基地

文章浏览阅读3.6k次,点赞12次,收藏41次。由于项目需求,需要把部分Opencv代码和Halcon代码联接起来使用,而两种库所使用的基本数据类型是完全不一样的。因此需要一个互转函数来对他们进行转换。我在这篇博客中看到了一种互转方法Halcon 与 OpenCV 图像数据类型转换。这里面所介绍的方法转换速度非常的慢,Halcon转Opencv需要600ms,而opencv转halcon要10ms,这对于工业应用的项目来说实在是太慢了。仔细研读后,发现这份代码使用Halcon的 GetGrayval() 函数来对HImage进行像素值遍历读取,这_halcon和cvmat数据转换

随便推点

电能量远程数据采集系统的设计与实现_电能量前置及数据处理服务器-程序员宅基地

文章浏览阅读2.6k次。 肖 鲲  李晓明  董丽娟 (武汉大学电气工程学院 武汉 430072) 摘要 本文介绍了电能量远程数据采集系统的设计方案,说明了如何利用通信控件和线程类实现远程数据采集的方法,并给出了程序实例。 关键词 远程数据采集 多线程 ActiveX1 引言   随着电力系统自动化程度的提高,以及计算机技术在电力系统中日益广泛的应用。传统的电量计费方式由于其效率低、投_电能量前置及数据处理服务器

封神台-杂项11:这是我最喜欢的女明星-程序员宅基地

文章浏览阅读322次,点赞7次,收藏11次。打开发现就是一张图片,根据提示这是一个女明星,直接搜狗识图。找到外文名,这就是flag。发现是邱淑贞,直接百科,

IEEE--DSConv: Efficient Convolution Operator 论文翻译_dsconv: effcient convolution operator-程序员宅基地

DSConv是一种高效的卷积操作符,可以替代传统的卷积操作符,具有高准确性、低内存使用和灵活性。通过对CIFAR10图像的分类实验,证明了DSConv的有效性。

Vue进阶(幺陆伍)PhantomJS 实战讲解_vue phantomjs-程序员宅基地

文章浏览阅读440次。在前期博文《Vue进阶(五十六):vue-cli 脚手架 karma.conf.js 配置文件详解》中讲解了文件用于配置前端项目自动化测试信息。// 这里使用的是PhantomJS作为浏览器测试环境,这个插件支持 DOM, CSS, JSON, Canvas, and SVG 的解析其中,使用了PhantomJS作为无头浏览器测试环境。PhantomJS具体作用是什么呢?本篇博文带你一探究竟。_vue phantomjs

CSS3做出条纹大背景-程序员宅基地

文章浏览阅读168次。㈠实现不等宽背景条纹实现如上图所示的效果,代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <style type="text/css"> 6 .con..._css3 条纹背景

IT项目实施流程及每个阶段输出的文档_项目管理各个阶段输出文档-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏12次。IT项目实施流程及每个阶段输出的文档_项目管理各个阶段输出文档

推荐文章

热门文章

相关标签