有16个硬币,A,B两个人轮流抓,每次只能选择拿1个,2个或者4个。规定最后一次抓到硬币的人输。请问A如何抓才能保证自己绝对赢?假设这两个人足够聪明。
解法:
1.想象只剩下一枚硬币的时,拿的人必定输。(必败点L)
2.想象剩下2/3/5枚时,都能使下一个状态变为只剩1枚硬币。(这三个状态均为必胜点W)
3.再想象下只剩4枚硬币的情形:这时要取的人可以取1/2/3枚,使得下一个状态变为0、2、3。显然,取4的话直接输了,而取2和1的话,都可以使对方最后取一枚。
所以当剩4枚硬币时,不管怎么拿,先拿的人都是输的。
4.再再想象一下6。6可以到2、4、5。(显然拿的人不会选择到2和5,这也就是为啥题意要假设这俩人足够聪明的原因了)
6可以走到 4。让对方面临4,不管对方怎么走,都是对方 输。
所以6为必胜点。
5.最后,来看一下7。7可以到3、5、6(均为必胜点),所以7为必败点。
最后就是下面的情况:
L W W L W W L W W L W W L W W L
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,
博弈的基本原理:
1.能走到必败点的点都是必胜点。
2.只能走到必胜点的点都是必败点。
这种倒着推的解法,对于下面这种题目:
有a个硬币,A,B两个人轮流抓,每次只能抓 b,c 或者d个 三种选择中一种,规定谁抓到最后一枚硬币的人输,请问A人如何抓才能保证自己绝对赢?
其中a,b,c,d不管怎么变都适用就算每次可以取2,3,5,7,11,13,17,23....很多很多个都可以解决~