两个玩家正在玩一个游戏,每个回合必须选择1,2,3或4个硬币。总共有n枚硬币捡到最后一枚硬币的玩家,他赢了。设计一个策略来赢得比赛。
如果我是其中一个玩家,解决这个问题的算法策略是什么?
最佳答案
为前10场左右的比赛准备一张桌子,会有一个清晰的模式。如果有。。。
1 coin: take 1, you win
2 coins: take 2, you win
3 coins: take 3, you win
4 coins: take 4, you win
5 coins: you lose (whatever you choose, the opponent wins by rule 1-4)
6 coins: take 1, opponent loses by rule 5
7 coins: take 2, opponent loses by rule 5
...
10 coins: you lose (whatever you choose, the opponent wins by rule 6-9)
11 coins: take 1, opponent loses by rule 10
...
所以,你总是拿走
n % 5
硬币,除非它是0
(如果它是ccc>,你从对手身上完全失去了你的所作所为,所以用1来最大化他犯错误的机会)。关于algorithm - 如果玩家最多可以拿4个硬币就可以赢得游戏的策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34057683/