可以知道,石头总数n=4时,先手面对必败的情况。所以当n=5时,先手拿走1,让剩余石头总数为4;n=6时,先手拿走2,为7时拿走3;当n为8时,先手最多拿走3个,此时后手只要拿走1-3个让剩余石头数量为4即可必胜,因此n=8时先手必败。n=9时以此类推,可以看出当n为4的倍数的时候,先手必败,否则,先手只要保证拿的个数与后手相加为4(因为n不为4的倍数,n=4k+x,则x一定不为4),则可以保证必胜。
class Solution {
public:
bool canWinNim(int n) {
if(n%4)return true;
return false;
}
};