爱丽丝和鲍勃玩以下游戏:
1)他们选择前 N 个数字的排列开始。
2) 他们轮流玩,爱丽丝先玩。
3)在一个回合中,他们可以从排列中删除任何一个剩余的数字。
4) 当剩余的数字形成一个递增的序列时,游戏结束。玩最后一回合的人(之后序列会增加)赢得游戏。
假设双方都发挥最佳,谁会赢得比赛?
输入:第一行包含测试用例 T 的数量。接下来是 T 测试用例。每个案例在第一行包含一个整数 N,然后在第二行包含整数 1..N 的排列。
输出:输出 T 行,每个测试用例一个,如果 Alice 获胜则包含“Alice”,否则包含“Bob”。
样本输入:
2
3
1 3 2
5
5 3 2 1 4
样本输出:
爱丽丝
鲍勃
约束:
1 <= T <= 100
2 <= N <= 15
排列最初不会是递增序列。
我正在尝试解决上述问题。我已经推导出来,但我被困在一个点上。请帮助我进一步进行。
在上述问题中,对于长度为 2 的排列,玩家 1 总是获胜。
对于长度为 3 的排列,如果字符串严格增加或减少,则玩家 2 获胜。
对于长度为 4 的排列,如果玩家 1 能够通过删除一个字符使字符串严格增加或减少,则她获胜,否则玩家 2 获胜。
因此得出的结论是:
如果当前玩家能够使字符串严格增加他/她获胜。(小案例)
如果他/她能够使其严格递减,则获胜者将由该序列中的元素数量决定。如果该序列中有偶数个元素,则当前玩家输,否则获胜。
但是如果结果字符串既不增加也不减少怎么办?