异或:两个数相同为0 不同为1 例如 1xor1=0 0xor0=0 0xor1=1 1xor0=1
即0碰到任何数都不改变,1碰到1会为0、碰到0不变
思路:
把取的数看成二进制数,从最大位到最小位进行考虑
下面一位位进行分析:
1.分析可知,如果在这一位上面 有偶数个1,则不管怎么样都是平局,因为a取了1之后b总有办法让其变平,而a无可奈何。此时a,b取1个数一定相等(同为奇或同为偶),则一定平局。
2.如果这个位上面 只有1个1,则先手胜
3.如果这个位上面 有奇数个1:
基于:一个奇数只能拆分成两个奇偶性不同的非负整数,当前这一位一定能分出胜负。
则问题转换为,谁获得最后一个1,谁取得胜利(前面拿到的1总会互相抵消)。此时0的作用就是相当于让自己轮空,即先后手交换。将0和1想象为一个序列。
(1)如果是偶数个0的话,相当于互相抵消,a和b都无法通过0来让自己轮空&#