蓝桥杯刷题day13——玩游戏【算法赛】

一、问题描述

小 A 和小 B 两个人在海边找到了 n 个石子,准备开始进行一些游戏,具体规则如下:小 B 首先将 n 个石子分成若干堆,接下来从小 A 开始小 A 和小 B 轮流取石子,每次可以任选一堆石子取走任意个,不可不取,没石子可取的输。问在最优策略的情况下,小 A 和小 B 到底谁能赢得游戏。

输入格式

一行一个整数 n,表示石子个数。

输出格式

一行一个字符 A 或者 B,输出 A 表示小 A 能赢得游戏,输出 B 表示小 B 能赢得游戏。

样例输入

2

样例输出

B

说明

对于 22 个石子,小 B 将其分成两堆,每堆 11 个石子即可获胜。

二、解析

首先,这个问题是一个经典的博弈问题,属于Nim游戏的一个变种。在这个游戏中,小A和小B轮流从若干堆石子中取走任意个石子,每次至少取一个,不能取石子的人输。

在这个特定的游戏规则下,石子堆的总数(即n)决定了游戏的胜负。对于小A来说,如果石子堆的总数是偶数,他无法确保自己总是能做出最优的选择,因为小B可以模仿小A的动作,保证每次轮到小A取石子时,石子堆的总数仍然是偶数。这样,最终当小B取完最后一堆石子后,小A将无石子可取,从而输掉游戏。

相反,如果石子堆的总数是奇数,小A可以采取一个策略,确保自己总能赢得游戏。他的策略是,每次小B取完石子后,他都取走一个石子,使得剩下的石子堆总数仍然是奇数。这样,无论小B如何取石子,小A总能保持石子堆的总数为奇数,直到最后小A取走最后一个石子,赢得游戏。

因此,这个游戏的胜负完全取决于石子堆的总数n是否为偶数。如果n是偶数,小B将赢得游戏;如果n是奇数,小A将赢得游戏。

三、python代码

import os
import sys

# 请在此输入您的代码
if int(input())%2==0:
  print("B")
else:
  print("A")

四、运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/517356.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(CVPR2024)DragGAN作者新作DiffMorpher:可以实现两张图像间的平滑变形

相信大家在网上看过一些图像变换的动图以及视频。比如生成两张人脸之间的渐变图。 狮子变老虎 那么这种功能是如何实现的呢? 计算机科学中有一种专门描述此应用的任务—图像变形(image morphing)。给定两张图像,图像变形算法会输出一系列合理的插值图像…

Redis数据库:概念、安装及常用操作命令

目录 前言 一、数据库概述 1、关系型数据库(RDBMS) 1.1 产生背景 1.2 概念 1.3 特点 1.4 优缺点 1.5 常见主流关系型数据库 2、非关系型数据库(NoSQL) 2.1 产生背景 2.2 概念 2.3 特点 2.4 优缺点 2.5 常见主流非关…

Mybatis--TypeHandler使用手册

TypeHandler使用手册 场景:想保存user时 teacher自动转String ,不想每次保存都要手动去转String;从DB查询出来时,也要自动帮我们转换成Java对象 Teacher Data public class User {private Integer id;private String name;priva…

labview如何创建2D多曲线XY图和3D图

1如何使用labview创建2D多曲线图 使用“索引与捆绑簇数组”函数将多个一维数组捆绑成一个簇的数组,然后将结果赋值给XY图,这样一个多曲线XY图就生成了。也可以自己去手动索引,手动捆绑并生成数组,结果是一样的 2.如何创建3D图 在…

hadoop在linux上启动成功了,但是浏览器访问不了

根据网上的资料进行安装hadoop的伪集群 都安装成功,并且启动也成功了,如下图所示: 2、但是在浏览器上确是怎么也访问不了, 解决思路, 2.1、根据网上的一些文章处理解决是关闭防火墙, 2.1.1、我根据操作步骤…

【Python】RGB颜色对照表

专栏文章索引:Python 这里是我收集的几个RGB颜色对照网站: RGB颜色对照表 (oschina.net) RGB Color Codes Chart 🎨 (rapidtables.com) Colors RGB and RGBA (w3schools.com) Color Hex - ColorHexa.com Color Picker — HTML Color Cod…

CSRF介绍及Python实现

CSRF 文章目录 CSRF1. CSRF是什么?2. CSRF可以做什么?3. CSRF漏洞现状4. CSRF的原理5. 举例说明6. CSRF的防御Python示例 1. CSRF是什么? CSRF(Cross-Site Request Forgery),中文名称:跨站请求…

按照指定的分隔符和次数从右侧开始分割字符串元素numpy.char.rsplit()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 按照指定的分隔符和次数 从右侧开始分割字符串元素 numpy.char.rsplit() [太阳]选择题 请问关于以下代码表述错误的选项是? import numpy as np a np.array([a b c, x,y,z, 1 2,…

江协STM32:定时器定时中断和定时器定时闹钟

定时器中断 新建文件 按这个图来编写程序 第一步:RCC开启时钟,定时器到基准时钟和整个外设到工作时钟就会同时打开 第二步:选择时基单元的时钟源,对于定时中断选择内部时钟源 第三步:配置时基单元,ARR,P…

Linux第2课Windows下的环境配置-虚拟机安装

文章目录 Linux第2课Windows下的环境配置-虚拟机安装一、VMware虚拟机的安装(一)安装VMware(二)启动电脑本地的VMware相关服务 二、VirtualBox安装 Linux第2课Windows下的环境配置-虚拟机安装 本节课程提供了两种虚拟机的安装方法…

【Django开发】0到1美多商城项目md教程第5篇:短信验证码,1. 避免频繁发送短信验证码逻辑分析【附代码文档】

美多商城完整教程(附代码资料)主要内容讲述:欢迎来到美多商城!,项目准备。展示用户注册页面,创建用户模块子应用。用户注册业务实现,用户注册前端逻辑。图形验证码,图形验证码接口设…

Java笔试题总结

HashSet子类依靠()方法区分重复元素。 A toString(),equals() B clone(),equals() C hashCode(),equals() D getClass(),clone() 答案:C 解析: 先调用对象的hashcode方法将对象映射为数组下标,再通过equals来判断元素内容是否相同 以下程序执行的结果是: class X{…

NKCTF2024 re VM?VM!WP

逻辑似乎很简单(个鬼啊) 这个函数是把输入的字符转化为二进制并倒序存储 sub_1570太大了加载不出来,应该是加密的主逻辑,目的是需要输出1 可以通过删除栈的方法强行转化伪代码 首先删掉这部分 9A0改小点 这个也是 栈这里U一下再…

通讯录(顺序表的应用)

文章目录 顺序表思想实现通讯录头文件接口函数主函数 顺序表思想实现通讯录 实现通讯录前,我们考虑一下,通讯录需要包含什么内容? 联系人,联系人需要包含姓名年龄电话性别这3种基本信息。 我们知道顺序表实质是个数组&#xff…

【C++】C++中的list

一、介绍 官方给的 list的文档介绍 简单来说就是: list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中…

浅谈TCP(2):流量控制与拥塞控制

上文浅谈TCP(1):状态机与重传机制介绍了TCP的状态机与重传机制。本文介绍流量控制(Flow Control,简称流控)与拥塞控制(Congestion Control)。TCP依此保障网络的QOS(Quali…

【Leetcode每日一题】 递归 - 求根节点到叶节点数字之和(难度⭐⭐)(50)

1. 题目解析 题目链接:814. 二叉树剪枝 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 想象一下,你有一堆层层叠叠的积木,你想从底部开始,把那些标记为0的积木拿走。如…

【QT+QGIS跨平台编译】056:【PDAL+Qt跨平台编译】(pdalcpp错误处理)

点击查看专栏目录 文章目录 一、报错信息:二、原因分析三、解决思路四、原版FileUtils.cpp五、修改后的FileUtils.cpp一、报错信息: ① exists is unavaiable: introduced in macOS 10.15 ② create_directory is unavaiable: introduced in macOS 10.15 ③ create_director…

BCLinux-for-Euler配置本地yum源

稍微吐槽一句…… 在这片土地上,国产化软件的大潮正在滚滚而来,虽然都不是真正意义上的国产化,但是至少壳是国产的~~~ 之前使用的Centos7的系统,现在都要求统一换成BCLinux-for-Euler。说实话换了之后不太适应,好多用习…

练习实践-TLS02-会话恢复的两种形式-Session ID/SessionTicket

参考来源: 书籍:深入浅出https-从原理到实战(作者:虞卫东) 抓包分析文件可下载,来自github上的作者上传资源 会话恢复机制的背景 当客户端和服务器端握手成功,建立了一个完整的 TLS 连接&…