題意:地上有一堆石頭,每次只能拿1-3個石頭,兩個人輪流拿,誰拿走最後一個石頭,誰就獲勝。你先手。
題解:如果地上的石頭小於等於3個,先手必贏,當等於4的時候,後手必贏。基於4我們可以推出,當石頭的數=8的時候,後手也必贏,5,6,7都是先手贏,所以規律可以遞推找到,就是看是否是4的整數倍。
兩外注意石頭數爲0的時候
class Solution {
public:
bool canWinNim(int n) {
if(n==0)
return false;
if(n%4==0)
return false;
return true;
}
};