取球游戏——第三届蓝桥杯省赛C语言A组第10题_取球游戏,有n个球,甲乙两人依次轮流取-程序员宅基地

技术标签: 博弈  蓝桥杯  

今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。

每个人从盒子中取出的球的数目必须是:1,3,7或者8个。

轮到某一方取球时不能弃权!

A先取球,然后双方交替取球,直到取完。

被迫拿到最后一个球的一方为负方(输方)
请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?

程序运行时,从标准输入获得数据,其格式如下:

先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。

程序则输出n行,表示A的输赢情况(输为0,赢为1)。

例如,用户输入:
4
1
2
10
18

则程序应该输出:
0
1
1
0


思路:已知每人最多能取1,3,7或者8个,那么,如果球总数=必输的情况+(1,3,7或者8个),即是甲拿走是1,3,7或者8个球,剩下的必输的情况就交给了乙,那么就用递推方法,已经知道球数为1的时候甲必输,那么就以此类推,将必输的标记为0,赢的标记为1。将10000以内的输赢情况都存入数组,然后查表。

#include<cstdio>
#include<cstring>
int a[10010];
int main()
{
    int i,j,n,m,b[4]={1,3,7,8};
    memset(a,0,sizeof(a));
    for(i=1;i<=10000;i++)
    {
       if(a[i]==0)
       for(j=0;j<4;j++)
       a[i+b[j]]=1;
    }
    scanf("%d",&n);
    while(n--)
    {
       scanf("%d",&m);
       printf("%d\n",a[m]);
    }
    return 0;
}




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010625743/article/details/44727445

智能推荐

戴尔服务器怎么win7系统安装系统,戴尔 DELLVostro3400能不能安装windows7系统_戴尔 DELLVostro3400怎么安装win7系统-win7之家...-程序员宅基地

文章浏览阅读4.3k次。刚买了一台戴尔 DELLVostro3400笔记本电脑,想安装windows7系统,但不知道能不能安装,也不知道装完win7系统之后系统运行的流畅不流畅,小编特意查了下戴尔 DELLVostro3400笔记本的相关信息,跟大家分析下这个能不能安装win7系统。我们先看下戴尔 DELLVostro3400笔记本电脑的相关配置参数:预装操作系统:LinuxCPU类型:酷睿双核i3处理器CPU型号:i3..._戴尔笔记本安装win7

MySQL Json类型支持通过虚拟列方式建立索引_mysql 为json列中的某字段创建虚拟列-程序员宅基地

文章浏览阅读1k次。背景* 在MySQL 5.7.8中,MySQL支持由RFC 7159定义的本地JSON数据类型,它支持对JSON(JavaScript对象标记)文档中的数据进行有效访问.* MySQL会对DML JSON数据自动验证。无效的DML JSON数据操作会产生错误.优化的存储格式。存储在JSON列中的JSON文档转换为一种内部格式,允许对Json元素进行快速读取访问.MySQL Json类型支持通过虚拟列方式建立索引,从而增加查询性能提升.Json 索引创建Json索引表 jso._mysql 为json列中的某字段创建虚拟列

attention 文字识别算法_支持40种语言的图片文字识别(OCR)项目-程序员宅基地

文章浏览阅读773次。Hi!大家好呀!我是你们努力的喵哥!OCR(光学字符识别)是我们日常很常用的人工智能技术。我们总会有从图片中提取文字的需求。你是不是有需要从图片复制文字的经历?手打是最低效的选择。我们可以使用 OCR 软件,直接将图片上的符号转化为对应的文字。那么,这里喵哥就要给大家推荐一个开源项目 EasyOCR。EasyOCR 并不是可以直接使用的软件(虽然它有一个演示网站),而是一个超级易于使用的 OCR ..._ocr 越南语 torch 模型

VLC视频直播低时延配置_vlc 缓冲时间设置-程序员宅基地

文章浏览阅读1.5k次,点赞3次,收藏7次。默认的VLC的播放时延是比较高的,一般是秒级别,默认配置的话,都是5秒左右,这种默认配置是为了利用缓存机制,使播放体验更加流畅,对于需要更低时延的播放测试的话,并不适合,需要调整一下配置项目,来降低时延:可以调整为50ms或网络质量好的话,直接调整为0ms。配置解码器的参数,或者使用gpu硬解或者cpu的解码线程数可以进一步降低时延!可以根据兴趣自行研究。若如上的时延是毫秒级别的,即可调整如上的vlc的配置,降低播放器引入的时延问题!// -analyzeduration 单位:微秒。工具->偏好设置->_vlc 缓冲时间设置

java/php/node.js/python学生课外兴趣班管理系统【2024年毕设】-程序员宅基地

文章浏览阅读21次。学生通过注册、登录到系统前台,可以对首页、兴趣班、系统公告、个人中心、后台管理的功能进行查看及操作;系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。任何用户只要进入网站不需登录也可浏览到的信息,后台管理是针对已登录的用户看到满意的选课信息而设计的。用户信息的添加和管理,以及对课程名称管理、兴趣班管理、选课信息管理、系统管理,这些都是管理员的功能。个人中心、学生管理、课程名称管理、兴趣班管理、选课信息管理、系统管理。

抖音 【展示应用下载地址】 该如何填写?_抖音企业号应用下载,输入应用管理中心链接-程序员宅基地

文章浏览阅读1w次。刚填写这个地址的时候,很多人都会一脸懵逼,不知道这个地址,怎么填写都不合法。不对。ios地址:这个简单:直接打开appstore 里面可以复制。或者登录Apple Developer打开appstore里面也可以复制。android地址:这个刚开始研究了很久,不知道是哪个地址, 后来才发现。对应的不同市场的地址获取方式如下:1、比如华为应用市场:在应用市场搜索你的应用。点击分享到微信,打开链接,然后复制链接。https://appgallery.huawei.com/app._抖音企业号应用下载,输入应用管理中心链接

随便推点

容器环境下JVM堆内存大小配置实践_-xx:+usecontainersupport-程序员宅基地

文章浏览阅读1.6k次。该参数通常在运行Java应用程序时与容器化平台集成时使用。在容器环境中,包括更好地处理内存、CPU和网络资源。在k8s等容器环境中运行java服务时,如果不配置堆内存大小,默认为RAM的1/4就会浪费pod内存资源,如果使用-Xms和-Xmx配置堆内存大小,固定的数值就显得非常不灵活。总之,启用UseContainerSupport参数可以,-XX:InitialRAMPercentage、 -XX:MaxRAMPercentage、-XX:MinRAMPercentage_-xx:+usecontainersupport

vue3中使用 wx-open-launch-app 标签及解决控制台警告的问题_vue3 wx-open-launch-app-程序员宅基地

文章浏览阅读1.8k次。在移动端h5中如何正确的使用 wx-open-launch-app 标签_vue3 wx-open-launch-app

Linux进程以及计划任务_linux启动项和计划任务-程序员宅基地

文章浏览阅读440次。本章主要介绍程序和进程的区别,如何查看进行,有多种方式进行查看;进程的启动方式,有多种启动方式,前台运行还是后台运行,如何互相调用前后台运行;设置周期性任务,一次性任务还是周期性任务怎么设置,怎么删除;如何删除一个进行,怎么删除,批量删除还是强制删除。2、进程在CPU及内存中运行的程序代码动态执行的代码每个程序可以创建一个或多个进程3、线程负责功能的运行多线程可同时运行多个任务有三种状态①就绪状态:在创建线程后存在等待cpu过来的执行的时间称为就绪状态②运行状态:当cpu过来执行就会转_linux启动项和计划任务

色温(Kelvin)到RGB的转换:算法和样例_色温转rgb-程序员宅基地

文章浏览阅读2.1w次,点赞18次,收藏66次。色温(Kelvin)到RGB的转换:算法和样例据我所知,还不太可能找到从色温到RGB转换的一个可靠的公式。虽然,有很多算法实现了类似的功能,但是,大多是都是从色温转换到XYZ颜色空间。这之后你再可以根据需要从XYZ空间在转换到RGB颜色空间。这种算法的一种实现方式你可以在这找到。很不幸的是,这种方式并不是真正意义上的数学公式,只是一种美化的..._色温转rgb

985 研究生入职电网 6 个月,牛客网面经下载,血与泪的总结_牛客的面经怎么下载-程序员宅基地

文章浏览阅读126次。什么是 RPC?RPC 原理是什么?什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP 请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。RPC 原理是什么? 服务消费方(client)调用以本地调用方.._牛客的面经怎么下载

基于javaweb+mysql的ssm+maven客户关系管理系统(java+ssm+layui+shiro+redis+mysql+jsp)-程序员宅基地

文章浏览阅读883次。5.是否Maven项目:是;1.权限,菜单都会缓存到redis中,如果redis无法连接,将会报空指针错误或登陆后首页会显示404,请确保能连接上redis数据库 2.如果有报此异常org/hyperic/sigar/SigarException,可以将WEB-INF/lib下的文件(根据你的系统以及位数选择)放在你的JDK/bin目录下 3.在发布出来前,由于隐私关系删除了部分登录帐号(客户经理),如果出现此客户找不到对应的客户经理,删掉此客户即可。课程设计,大作业,毕业设计,项目练习,学习演示等。

推荐文章

热门文章

相关标签