两个人轮流拿10个硬币,每次可以拿1或2或4个,拿到最后的那个人为输,问:怎样才能必胜?
思路是从最简单的情况概况,找到一定的规律。
总结如下,其中A、B代表两个人,数字代表对应人选择前剩下的硬币数,第一行的解释是“有1个硬币留给了A,A拿了一个,剩下0个硬币留给了B,A就输了”:
A B 对A的结果
1 0 lose
2 1 win
3 1 win
4 0/2/3 lose
(这个解释下,A有4个硬币时,可能选4个、2个、1个,对应留给B的数目是0、2、3,结合上面的信息,谁有0、2、3个硬币的时候谁就赢了,所以这里A一定会输。)
5 1/3/4 win
(这个解释下,A有5个硬币时,可能选4个、2个、1个,对应留给B的数目是1、3、4,结合上面的信息,如果留给B的是1则B输,3、4则B赢,而一个重要因素就是A想赢,所以A一定会拿4个,给B留1个,所以这里A是赢的。)
6 5/4/2 win
7 6/5/3 lose
8 7/6/4 win
9 8/7/5 win
10 9/8/6 lose
所以,最后得到结论,先选的人面对10个硬币,一定是输的,同时对应后选的人一定赢!
谢谢来访,欢迎讨论!
分享到:
相关推荐
小明去银行存钱,拿了一堆硬币。已知1角的硬币厚度为1.8mm,5角的硬币厚1.5mm,1元的硬币为2.0mm。小明将1角的硬币放成一摞,将5角的硬币硬币放成一摞,将1元的硬币放成一摞,发现3摞硬币一样高。银行正好把这些硬币...
John Gilder在等车的时候拿出一摞硬币。首先这些硬币全部正面朝上,第一次翻转最上面的一个,第二次把最上面的两个一起翻转,第三次把最上面的三个硬币一起翻转,...,第n次一起翻转所有的n个硬币,第n+1次再将第一...
2、(E-step)估计每组实验是硬币A的概率(本组实验是硬币B的概率=1-本组实验是硬币A的概率)。分别计算每组实验中,选择A硬币且正面朝上次数的期望值,选择B硬币且正面朝上次数的期望值;3、(M-step)利用第三步...
设有n种不同面值的硬币,各个硬币的面值存在于数组T[1:n]中,现在要用这些面值的硬币来找钱,可以使用各种面值的硬币个数存在于数组coin[1:n]中 对于任意钱数,设计一个用最少硬币找钱的方法 数据输入:由文件...
游戏:21枚硬币,每次可拿1--4枚,写成一个两个人玩的游戏 谁取到最后一枚为输家
8枚硬币问题/可扩展到多枚硬币问题/减治法/C++/内有报告
完整的识别程序,识别图像中硬币个数,检测出硬币的存在。
使用matlab语言,编写的硬币识别程序代码,附图片 可识别一角、五角、一元的三种硬币,进行分类识别,并计算个数以及金额总和
判断8枚(n枚)硬币中较轻或者较重的一枚硬币 (事先不知道硬币是轻还是重)
输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量 fen2:2分硬币数量 fen1:1分硬币数量 total:硬币总...最后一行输出“count = 换法个数”。
完成算法实践作业,实现贪心算法中的硬币问题
2、有N个硬币(N为偶数)正面朝上排成一排,每次将N-1个硬币翻过来放在原位置,不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。设计程序让计算机把翻币的最简过程以及翻币次数输出(用*表示正面,O表示反面...
设有n 种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。 对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个...
硬币找钱算法设计硬币找钱算法设计 硬币找钱算法设计硬币找钱算法设计 硬币找钱算法设计硬币找钱算法设计 用C++编写的一个硬币找钱算法。
图像形态学处理,通过提取图片中的硬币轮廓,区分噪声,能正确地计算出硬币的总个数。
小明有5分、2分、1分硬币,想拿出1元钱,有几种拿法?给出所有拿法。实现方式不限
一个简单的动态规划算法实例,实现硬币找零的最小硬币数以及每种面额硬币的数量。
1. 【伪造硬币问题】给你一个装有n个硬币的袋子。n个硬币中有一个是伪造的。你的任务是找出这个伪造的硬币。为了帮助你完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道两组硬币的...
在桌面上有一排硬币,共N枚,每一枚硬币均为正面朝上。现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N-1枚硬币(正面向上的被翻转为反面向上,反之亦然)。求一个最短的操作序列(将每次翻转N-1枚硬币...
本次设计紧密结合图像的分割和统计方法,主要探讨了硬币图像统计技术及其实现方法,设计了一套对硬币图像进行处理和分析的软件系统。本设计按照对硬币图像处理的先后步骤进行论述,通过论述算法原理和给出处理实例相...