古老的谜题:两人轮流拣三堆小石子,谁拿最后一粒便输...
有三堆小石子,两个人轮流来取走,规则如下:
1、每次可以取走任意数量
2、每次只能在一堆中拣取,不能跨堆
3、每次最少必须取1粒
4、取所有石子中的最后1粒者即输。
如果最先取的那人输掉,那么这三堆石头的数量分别是怎样的?
举例:
0,0,1
0,2,2
0,3,3
0,4,4
0,5,5
...
1,1,1
1,2,3
1,4,5
1,6,7
...
[解决办法]
n堆都一样。
只要余下堆数还大于1(而且至少两堆中石子不是1),保持每堆石子数目的异或和为0就可以。
知道最后遇上除了一堆,其他堆都是1个石子,保持奇数个1个石子的堆给对手。