#AT1618. F - Unfair Nim
F - Unfair Nim
F - 不公平的尼姆游戏
分数:600分
问题描述
有N堆石头。第i堆有$A_i$颗石头。
Aoki和Takahashi将要用它们来玩以下游戏:
- 从Aoki开始,两名玩家交替进行以下操作:
- 操作:选择一堆石头,从中拿走一颗或多颗石头。
- 当一名玩家无法进行操作时,他失败,另一名玩家获胜。
当两名玩家都采取最佳策略时,此游戏有两种可能的结果:先手玩家总是获胜,或者后手玩家总是获胜,这仅取决于每堆石头的初始数量。
在这种情况下,Takahashi作为后手玩家,在游戏开始前要移动至少0颗至多($A_1 - 1$)颗石头从第一堆到第二堆,以确保自己的胜利。
如果可能,输出保证Takahashi获胜的最小移动石头数;否则,输出-1。
约束
- $2 \leq N \leq 300$
- $1 \leq A_i \leq 10^{12}$
输入
输入从标准输入获得,格式如下:
输出
输出保证Takahashi获胜的最小移动石头数;否则,输出-1。
2
5 3
1
如果不移动石头,如果Aoki先从第一堆拿走2颗石头,Takahashi无论如何都无法获胜。
如果Takahashi在游戏开始前从第一堆移动1颗石头到第二堆,使得两堆都有4颗石头,Takahashi可以始终通过适当选择自己的动作来获胜。
2
3 5
-1
不允许从第二堆移动石头到第一堆。
3
1 1 2
-1
不允许移动第一堆的所有石头。
8
10 9 8 7 6 5 4 3
3
3
4294967297 8589934593 12884901890
1
注意溢出的问题。