所以我正在做一些算法解决问题和第一个问题输入/输出测试用例我无法理解。我不是在问这里有任何算法或代码,我只是想了解Bob
是如何获胜的?
Alice和Bob玩下面的游戏:
1)他们选择开头的前N个数字的排列。
2)他们交替上场,而爱丽丝则先上场。
3)在一个回合中,他们可以删除任何剩余的数字 排列。
4)当剩余数字增加时,游戏结束 序列。最后一个回合的人(之后是 序列变得越来越有竞争力。
假设两者都以最佳方式进行比赛,谁赢了比赛?
测试用例
5 3 2 1 4
现在他们说鲍勃会赢得比赛。 怎么样?
alice -> remove 5
bob -> remove 3
alice -> remove 1/2 -> Wins
OR
alice -> remove 3
bob -> remove 5
alice -> remove 1/2 -> Wins
答案 0 :(得分:3)
alice -> remove 5
bob -> remove 4
alice -> remove 1/2/3
bob -> remove any remaining -> Wins
答案 1 :(得分:0)
最接近的结尾(移动最少)是3 4,2 4和1 4.在这种情况下,Alice获胜。所以鲍勃必须阻止这一点。最简单的方法是删除4.所以基本上这就是鲍勃的战略,这足以赢得胜利。
Alice的策略是将这两个数字保留在棋盘上,所以她将从5开始。之后,我们知道,Bob会删除4,Alice会选择任何数字,因为她总是输掉。