一:结论
若a1 xor a2 xor a3 ... xor an≠0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n \neq 0a1 xor a2 xor a3 ... xor an=0 则先手(RRR)赢
否则 先手(RRR)输
二:证明 (数学归纳法)
(1): 定义
令
tem=a1 xor a2 xor a3 ... xor antem = a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n tem=a1 xor a2 xor a3 ... xor an
(2):具体过程
①证明:若a1 xor a2 xor a3... xor an≠0a_1 \ xor \ a_2 \ xor \ a_3 ... \ xor \ a_n \neq 0a1 xor a2 xor a3... xor an=0 则当前先手(RRR)赢
首先,temtemtem 的二进制最高位必定在 ai(i∈[1,n])a_i (i \in [1, n])ai(i∈[1,n]) 的同一位上出现
满足条件的一个 a[i](i∈[1,n])a[i] (i \in [1, n])a[i](i∈[1,n]) 记作x,将 temtemtem 减去 temtemtem 二进制最高位转换成十进制的值记作 temptemptemp
易知:temp<=xtemp <= xtemp<=x
当 RRR 选择改变 xxx 时,我们将 xxx 减去 temptemptemp,这时 a1 xor a2 xor a3 ... xor an=0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0a1 xor a2 xor a3 ... xor an=0
即证: 若a1 xor a2 xor a3 ... xor an=0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0a1 xor a2 xor a3 ... xor an=0,则当前先手 (JJJ) 输。
转换成②
②
证明: 若a1 xor a2 xor a3 ... xor an=0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0a1 xor a2 xor a3 ... xor an=0,则当前先手 (JJJ) 输。
JJJ任意选择一堆拿走一堆牌
则 a1 xor a2 xor a3... xor an≠0a_1 \ xor \ a_2 \ xor \ a_3 ... \ xor \ a_n \neq 0a1 xor a2 xor a3... xor an=0
即证:若a1 xor a2 xor a3... xor an≠0a_1 \ xor \ a_2 \ xor \ a_3 ... \ xor \ a_n \neq 0a1 xor a2 xor a3... xor an=0 则当前先手(RRR)赢
结论:当最后都拿完时:a1 xor a2 xor a3 ... xor an=0a_1 \ xor \ a_2 \ xor \ a_3 \ ... \ xor \ a_n = 0a1 xor a2 xor a3 ... xor an=0,则上一次拿牌的人是先手 (RRR),所以 RRR 赢
反之亦然,即证