Ferguson游戏

考虑一个简单的游戏:

有两个盒子,其中一个装有m颗糖、另一个装有n颗糖,将这样的状态记为(m,n)。每次的移动是将其中一个盒子清空,把另一个盒子的一些糖拿到被清空的盒子里使得两个盒子至少各有一颗糖。两个操作者轮流进行操作,不能操作者败。需要判断一个状态是否先手必败。

按照k=m+n从小到大的顺序进行判断即可。

 1 #include <cstdio>
 2 // Ferguson,打印先手必败状态。
 3 const int maxn = 100;
 4 int winning[maxn][maxn]; // 1为先手必胜、0为先手必败
 5 int main(){
 6     winning[1][1] = false; // (1,1)是游戏的唯一终态,此时先手必败
 7     for(int k = 3 ; k < 20 ; k++) // k = n + m
 8         for(int n = 1 ; n < k ; n++){
 9             int m = k - n;
10             winning[n][m] = false;
11             for(int i = 1 ; i < n ; i++) // 如果之后的存在一个状态是先手必败的
12                 if(!winning[i][n - i]) winning[n][m] = true;
13             for(int i = 1 ; i < m ; i++)
14                 if(!winning[i][m - i]) winning[n][m] = true;
15             if(n <= m && !winning[n][m])
16                 printf("%d %d\n",n,m);
17         }
18     return 0;
19 }

 

转载于:https://www.cnblogs.com/cyb123456/p/5812773.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

undefined和NUll的区别

Undefined类型只有一个值 即特殊的undefined 在使用var声明变量但未对其加以初始化时 这个变量的值就是undefined var messagealert(message undefined); //true此例子声明message 但未对其进行初始化&#xff0c;比较这个变量的自变量与undefined字面量 结果表明他们是相等的…

NYOJ 106 背包问题

背包问题 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述现在有很多物品&#xff08;它们是可以分割的&#xff09;&#xff0c;我们知道它们每个物品的单位重量的价值v和重量w&#xff08;1<v,w<10&#xff09;&#xff1b;如果给…

python数据挖掘与机器学习实战_Python数据挖掘与机器学习技术入门实战(1)

什么是数据挖掘?数据挖掘指的是对现有的一些数据进行相应的处理和分析&#xff0c;最终得到数据与数据之间深层次关系的一种技术。例如在对超市货品进行摆放时&#xff0c;牛奶到底是和面包摆放在一起销量更高&#xff0c;还是和其他商品摆在一起销量更高。作者&#xff1a;韦…

使用Spring 3.1和基于Java的配置构建RESTful Web服务,第2部分

1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码&#xff0c;有效负载编组配置和内容协商。 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式&#xff1a; 与ModelAndView一起使用MVC 使用HTTP消息转换器 ModelAndView方法较旧&#xff0c;文…

Vmware Player 比较

VMware Workstation 12 Player 与 VMware Player 7 Pro 比较 主要功能特性VMware Player 7 ProVMware Workstation 12 Player针对商业用途授予许可是是支持多达 16 个虚拟 CPU、8 TB 磁盘、64 GB RAM 和 2 GB 显存是是支持 Microsoft Windows 10、Ubuntu 15.04、RHEL 7.1、Fedo…

(转)求单链表是否有环,环入口和环长

转自&#xff1a;http://www.cnblogs.com/youxin/p/3303172.html 1.链表中是否有环的判断可以设置两个指针(fast,slow)&#xff0c;初始值均指向头&#xff0c;slow每次向前一步&#xff0c;fast每次向前两步&#xff1b;如果链表中有环&#xff0c;则fast先进入环中&#xff0…

OJ RuntimeError常见原因

RuntimeError常见出错的原因可能有以下几种&#xff1a; 1、数组开得太小了&#xff0c;导致访问到了不该访问的内存区域 2、发生除零错误 3、大数组定义在函数内,导致程序栈区耗尽 4、指针用错了&#xff0c;导致访问到不该访问的内存区域 5、还有可能是程序抛出了未接收…

python recv_Python socket.recv方法代码示例

# 需要导入模块: from gevent import socket [as 别名]# 或者: from gevent.socket import recv [as 别名]def handle(self):"""The main request handling method, called by the server.This method runs a request handling loop, calling:meth:handle_one_r…

使用Selenium或WebDriver测试GWT应用

对于Web应用程序开发人员及其团队而言&#xff0c;良好的功能测试是最困难的任务之一。 开发价格低廉且维护良好的测试是一项挑战&#xff0c;这有助于降低质量检查成本并提高质量。 Selenium和WebDriver&#xff08;本质上现在是Selenium的继承者&#xff09;都提供了一种无需…

MySQL中有关TIMESTAMP和DATETIME的总结

一、MySQL中如何表示当前时间&#xff1f; 其实&#xff0c;表达方式还是蛮多的&#xff0c;汇总如下&#xff1a; CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME() LOCALTIMESTAMP LOCALTIMESTAMP() 二、关于TIMESTAMP和DATETIME的比较 一个完整的日期格式…

NYOJ 202 红黑树

红黑树 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述 什么是红黑树呢&#xff1f;顾名思义&#xff0c;跟枣树类似&#xff0c;红黑树是一种叶子是黑色果子是红色的树。。。 当然&#xff0c;这个是我说的。。。 《算法导论》上可不是这么…

为对象添加方法mothod

Function.prototype.mothod function( name, fn ) { this.prototype[name] fn ; return this ; };转载于:https://www.cnblogs.com/40dadao/p/5816521.html

python爬虫cookie池 与ip绑定_Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租

前言文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者&#xff1a; EastmountPS&#xff1a;如有需要Python学习资料的小伙伴可以加点击下方链接自行获取我们在编写Python爬虫时&#xff0c;有时会遇到…

Java Secret:加载和卸载静态字段

总览 首先&#xff0c;很自然地假设静态字段具有特殊的生命周期&#xff0c;并且在应用程序的生命周期中一直存在。 您可以假设它们存在于内存中的特殊位置&#xff0c;例如C或类元信息的perm gen中的内存开始。 但是&#xff0c;得知静态字段驻留在堆上&#xff0c;可以具有任…

HTTP协议详解(真的很经典)

转自&#xff1a;http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议&#xff0c;由于其简捷、快速的方式&#xff0c;适用于分布式超媒体信息系统。它于1990年…

NYOJ 63 小猴子下落

小猴子下落 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述 有一颗二叉树&#xff0c;最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3&#xff0c;&#xff0c;2的D次方减1。在结点1处放一个小猴子&#xff0…

python科学计算与图形渲染_宁哥Python科学计算与图形渲染库课程

50dccd474759c0ffd343efcac14f8ab2.png (259.41 KB, 下载次数: 0)2019-4-9 12:23 上传课程目录章节1: NumPy基础知识课时1NumPy简介14:05课时2搭建NumPy开发环境&#xff0c;验证NumPy开发环境17:08课时3源代码和数据下载章节2: NumPy数组课时4创建多维数组09:20课时5获取单个数…

http协议说明

今天公司有同事让我给他讲一讲http..然后自己写了一个示例代码,这如果都看不懂.那我也没办法了.... 1 <?php2 3 //这里服务器以apache举例.nginx.iis.他们实际上处理方式的都是同理4 //申明http链接的数据包 注意最后面有两个换号.这是告诉apache.数据包的结束,如果后面没…

JBoss模块示例–模块化Web应用程序

最近&#xff0c;我读了为什么没有标准来开发真正的模块化Web应用程序&#xff1f; 由Patroklos Papapetrou撰写&#xff08; 在Java Code Geeks中也有介绍 &#xff09;。 受本文的启发&#xff0c;我决定检查实际使用的JBoss模块 。 这篇文章逐步描述了我的实验。 我首先想到…

由MySql漏洞导致电脑被入侵(特征为新增加名为piress的帐户)

今天开机&#xff0c;突然发现新增了一个名为piress的账户&#xff0c;突然间就意识到我的电脑可能被入侵了。后来发现网上很多人都遇到这样的问题。经过一步步的查证&#xff0c;原来最近MySQL爆出一个安全漏洞&#xff0c;远程登录mysql&#xff0c;尝试225次后就可以绕过身份…