编程之美 1.12 nim(2)
参考:http://tieba.baidu.com/p/613078798?pn=1
有若干堆石头,A,B分布依次取,一次只能选择一堆,从这堆中选择大于0的石头,问:1,如果最后取光石头的人获胜,A在什么情况下获胜?2,如果最后取光石头的人失败,A在什么情况下获胜?
1. 在规则1下,先手获胜的情况,在规则2下先手同样获胜
2. 规则1和规则2的取法不一样。
设当石头出现(1,1,1,...,X),x>1的情况下,称进入小卡区域。
规则1:
先手面临的局面必须是XOR(M1,M2,..,M3)!=0才能保证,先手获胜;此时,先手必须调整堆,使得XOR(M1,M2,..,M3)=0;这样就能保证先手最后获胜。
规则2:
先手面临的局面必须是XOR(M1,M2,..,M3)!=0才能保证,先手获胜;此时,先手必须调整堆,使得XOR(M1,M2,..,M3)=0;这样就能保证先手最后获胜。
大家可以看出规则1和规则2的策略是一样的,但是在规则2下,还要增加一个策略:当局面进入小卡区域时,当有偶数个1时,先手取x-1个石头;当有奇数个1时,先手取x个石头
但是有一个问题,如何保证当局面进入小卡区域时,正好该先手取?
编程之美 1.12 nim(2)相关推荐
- 编程之美中的NIM游戏及异或性质应用
最近看<编程之美>一书,感叹思维之妙,不过看过之后又在很多数学方面的书里面找到了同样的解法例如<组合数学>.<图论导引>等,之后才知道其实很多书上的算法都是源自数学 ...
- 编程之美 set 12 快速找出故障机器
题目 1. 所有的 ID 都出现 2 次, 只有一个例外, 找到那个例外的 ID 2. 所有的 ID 都出现两次, 只有两个例外, 找出例外的那两个 总计 1. 剑指 offer 上有这两道题的解法, ...
- 精选的一些《编程之美》相关资料
又要到一年的招聘季了,肯定又有很多人开始啃<编程之美>了吧.这本书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚(甚至问题叙述模棱两可.被标榜为"鼓励同面试官交流以 ...
- 从《编程之美》买票找零问题说起,娓娓道来卡特兰数——兼爬坑指南
转自:从<编程之美>买票找零问题说起,娓娓道来卡特兰数--兼爬坑指南 引子: 大约两个月前,我在练习一些招聘的笔试题中,有一道和卡特兰数相关.那时还没来得及开始仔细看<编程之美> ...
- 《编程之美》相关参考资料
转载自:https://blog.csdn.net/wuyuegb2312/article/details/9896831 为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值的文章的链接 ...
- 编程之美计算0到N中包含数字1的个数
转自:http://blog.csdn.net/hongjuntu123/article/details/8743266 有这样一个函数f(n),对于任意正整数n,它表示从 0 到 n 之间出现&qu ...
- 《编程之美》第2刷勘误
<编程之美>第2刷勘误 1. 第 80 页,第2行 原文: a – b = 1 改为: b – a = 1 2. 第133页,第1行 原文:f(10n-1)=n*10n-1 改 ...
- python面向对象编程指南([美stevenflott_Python面向对象编程指南 ([美]StevenFLott洛特) 中文_IT教程网...
资源截图:Python面向对象编程指南 ([美]StevenFLott洛特) 中文 第1部分 用特殊方法实现Python风格的类 . 1 第1章 __init__()方法 5 第2章 与Python无 ...
- 《编程之美》 查找最大(小)的k个元素
http://blog.csdn.net/v_july_v/article/details/6370650 http://blog.csdn.net/insistgogo/article/detail ...
最新文章
- java web 怎么用solr_使用web过滤器增加solr后台登录验证
- django 动态更新属性值
- 在vue中获取微信支付code及code被占用问题的解决?
- bash-shell高级编程--条件判断
- linux 读写时间变长,linux时钟变慢的原因分析【转】
- WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the Week...
- Redhat 5.1 install PHP 5.3.6
- golang mysql 插入_Mysql学习(一)添加一个新的用户并用golang操作Mysql
- [Array]Majority Element
- 关于CMS垃圾回收器的几个问题
- (10)<label>标签的用途
- php中未定义的变量使用技巧
- Linux从初学到精通
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
- Flash助手推荐广告删除方法
- 博图15怎么看各种功能块说明_西门子STEP7常用功能块说明
- 联想机房升级Win10联想硬盘保护系统EDU8.0安装手记
- 微信小程序开发笔记——开发者工具介绍
- 计算机在条形码的应用,条码应用
- Struts1与Struts2原理以及区别
热门文章
- 毕业了,在Python中使用 OpenCV 和K-Means 聚类对毕业照进行图像分割
- 【机器学习算法专题(蓄力计划)】十九、机器学习中SVM算法代码实操
- 通过flask构建自己的代理池
- 博士申请 | 阿联酋阿布扎比人工智能大学许志强老师招收全奖博士/硕士
- 直播 | AMP:针对模型参数施加对抗扰动的高效神经网络正则化算法
- 3D Human相关研究总结:人体、姿态估计、人体重建等
- 变分推断(Variational Inference)最新进展简述
- 简明条件随机场CRF介绍 | 附带纯Keras实现
- 【归并排序】-求逆序数算法
- MsSQL学习第五章---排序和分页