太简单就不分析了。先手的要想赢,石头不能是是4的整数倍,否则后手必然能赢,不管先手的拿几个,后手的总能凑个4个。同样的道理,如果不是4的整数倍,先手可以去n%4.这样剩下4的整数倍个,问题转化为后手取胜了。
class Solution {
public:
bool canWinNim(int n) {
return n%4;
}
};
太简单就不分析了。先手的要想赢,石头不能是是4的整数倍,否则后手必然能赢,不管先手的拿几个,后手的总能凑个4个。同样的道理,如果不是4的整数倍,先手可以去n%4.这样剩下4的整数倍个,问题转化为后手取胜了。
class Solution {
public:
bool canWinNim(int n) {
return n%4;
}
};