nim游戏
nim 游戏
给出结论:将所有数异或,若结果为
设异或值为
证明分三步:
-
全
局面先手必败。 -
对于当前局面若
,存在某种方式将其变为 :考虑
的最高的为 二进制位(记为 ),原序列中肯定有至少一个(奇数个)数第 位为 。(设为 )所以 (前面的位保持不变,然后第 位变为 ,后面就算均增加也会减少)。那么我么取走 ,使得 。那么新的异或值就是 ,抛给对手一个 的局面。 -
对于当前局面若
,不存在任何方式将其变为 :用反证法,假设存在某种方式,且取走的记为
,那么有 ,且 ,两个式子异或,其余的数都消去,剩下 ,即 ,而至少要取走一个,所以不存在任何方式。
而当先手的局面
反之
所以,我们只需要计算异或和,判断是否等于零即可。
code
本文作者:wscqwq
本文链接:https://www.cnblogs.com/wscqwq/p/17651450.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步