nim2 取石头youxi

a先把石头分堆,然后bababa的顺序取石头,只能取其中一堆中的若干颗(不能不取)

这种问题先考虑 先取者的胜态问题

(1,1)先取者必败,

所以(1,x),当x>1时可以转换为(1,1)使后取的人必败,所以必胜

(2,2),必败

。。。

所以发现(x,x)是先取者的必败态,也就是a的必胜态,这是偶数的情况

如果是奇数。。。考虑奇葩分堆。。。分为(1,1,1,1,1)如果有奇数个1,那么先取者必胜,因为偶数个1必败。。。由(1,1)败 => (1,1,1)胜 => (1,1,1,1)败可以知道

分为(1,1,1,1,x)的情况,先取者也可以把其变为偶数个1的情况,所以先取必胜。。。

。。。然后看规律。。。奇数都是先取必胜。。。所以奇数的话,a没法胜了。。。

时间: 2024-10-11 05:56:22

nim2 取石头youxi的相关文章

2014年7月19日——比赛题取石头问题1

参考地址: http://blog.csdn.net/abcjennifer/article/details/5922699 River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2433   Accepted: 1064 Description Every year the cows hold an event featuring a peculiar version of hopscotch

挑战程序设计 Nim3 取石头

题意: n堆 ,每堆 ai 个,至少取走一颗, 取光所有的获胜; Alice先取 结论: a1 XOR a2 XOR a3 ....... XOR an = 0 :必败态  <-----假设两个相同: a1 XOR a2 = 0  a1 XOR a2 XOR a3 ....... XOR an != 0 :必胜态 证明: 若  异或  为0 的状态任意取  异或结果肯定不为0   ----> 必败转到必胜 10001: 10001 10001 01110:---->    00110  

取石头游戏

描述 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢.  比如初始的时候两堆石子的数目是25和7 25 7 --> 11 7 --> 4 7 --> 4 3 --> 1 3 --> 1 0   选手1取   选手2取   选手1取   选手2取   选手1取 最后选手1(先取的)获胜,在取的过程中选手2都只有唯一的一种取法.  给定初始时石子的数目,如果两个人都采取最优策略,请

nim(3)两堆石头的游戏

在前面两个题目中,我们讨论了被称为"NIM(拈)"的这种游戏及其变种玩法和必胜策略,下面我们将讨论这类游戏的另一种有趣玩法.假设有两堆石头,有两个玩家会根据如下的规则轮流取石头.每人每次可以从两堆石头中各取数量相等的石头,或者仅从一堆石头中取出任意数量的石头:最后把剩下的石头一次拿光的人获胜.定义一个函数如下: bool nim(n,m) //n,m两堆石头的数量.要求返回一个布尔值,表明首先取石头的玩家是否能赢得这个游戏. 解法一:和朴素的素数筛选法一样,从最小数量的石头堆开始逐个排

第1章 游戏之乐——NIM(2)“拈”游戏分析

NIM(2)“拈”游戏分析 1. 问题 有N块石头和两个玩家A和B,玩家A先将石头分成若干堆,然后按照BABA……的顺序不断轮流取石头,能将剩下的石头一次取光的玩家获胜.每次取石头时,每个玩家只能从若干堆石头中任选一堆,取这一堆石头中任意数目(大于1)个石头. 请问:玩家A有必胜策略吗?要怎么分配和取石头才能保证自己有把握取胜? 2. 解法与分析 据说,该游戏起源于中国,英文名字叫做“NIM”,是由广东话“拈”(取物之意)音译而来,经由当年到美洲打工的华人流传出去,这个游戏一个常见的变种是将十二

python机器学习实战(三)

python机器学习实战(三) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7277205.html  前言 这篇博客是关于机器学习中基于概率论的分类方法--朴素贝叶斯,内容包括朴素贝叶斯分类器,垃圾邮件的分类,解析RSS源数据以及用朴素贝叶斯来分析不同地区的态度. 操作系统:ubuntu14.04 运行环境:anaconda-python2.7-jupyter notebook 参考书籍:机器学习实战和源码,机器学习(周志华) not

leetcode笔记:Nim Game

一. 题目描述 You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to r

二模 (8) day2

第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得到相应得分.现在要你引爆 k 个炸弹,使得得分最大. 解题过程: 1.一开始想到算出每个入度为0的点打掉之后的得分,然后做个堆,从大到小打,但是路径会有重叠的情况,也就是说打掉一条路径后可能会导致另外一条路径的权值发生变化.. 2.然后听到YYL大神一直在说2次BFS,就想到可以倒着来做..从出度为

第1章 游戏之乐——一排石子的游戏

一排石子的游戏 转载:编程之美-MIN(1)一排石头的游戏 1. 原题 1.1 题目 N块石头排成一行,每块石头有各自固定的位置.两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜.这个游戏有必胜策略吗? 1.2 解答 已知:石头数量为N,假设两个玩家分别为玩家A和玩家B,且玩家A先取石头. 当N<=2时,玩家A可以直接取完所有的石头,玩家A有必胜策略. 当N=3时,玩家A先取中间的1个石头