我来尝试下:
首先1堆牌:那么先手的赢,直接拿走。
两堆牌:1. 两堆牌一样多,那么先手输,因为,无论先手怎么取牌,后手的在另外一堆牌上做相同动作就赢。
2. 两堆牌不一样多,那么先手赢,先手把两堆牌中多的一堆取到与另外一堆相同,相当于把情况发展成两堆牌一样多的情况,只不过先后手互换了。
联系1堆和2堆的情况,1堆牌就是两堆不一样多的牌特殊情况-一堆有牌、一堆无牌。
那么推广到N堆牌,我们可以将其拆成M/2的组合排堆,出现奇数则视为一组中有空堆。如果M/2组中有奇数组的牌堆数量不一样,先手输,如果M/2组中有偶数堆的数量不一样,后手赢。怎么取牌就是将组内不一样的排堆数取成一样。