himdd最近很想玩遊戲,於是他找到acmj和他一起玩,遊戲是這樣的:有一堆石子,兩個人輪流從其中取走一定的石子,取走最後所有石子的人為贏家,不過得遵循如下規則:
1.第一次取不能取完,至少取1顆.
2.從第二次開始,每個人取的石子數至少為1,至多為對手剛取的石子數的兩倍。
himdd事先想知道自己會不會贏,你能幫幫他嗎?(每次himdd先手)
有多組測試資料,每組有乙個整數n(2<=n<2^64);
himdd會贏輸出yes,否則輸出no;
複製
2
56
no
noyes
有一堆個數為n(n>=2)的石子,遊戲雙方輪流取石子,規則如下:
1)先手不能在第一次把所有的石子取完,至少取1顆;
2)之後每次可以取的石子數至少為1,至多為對手剛取的石子數的2倍。
約定取走最後乙個石子的人為贏家,求必敗態。
結論:當n為fibonacci數的時候,必敗。
**:
#include#includeusing namespace std;
unsigned long long a[50];
void init()
int main()
if(flag) printf("no\n");
else printf("yes\n");
}return 0;
}
取石子 五) (斐波那契博弈)
himdd最近很想玩遊戲,於是他找到acmj和他一起玩,遊戲是這樣的 有一堆石子,兩個人輪流從其中取走一定的石子,取走最後所有石子的人為贏家,不過得遵循如下規則 1.第一次取不能取完,至少取1顆.2.從第二次開始,每個人取的石子數至少為1,至多為對手剛取的石子數的兩倍。himdd事先想知道自己會不會...
NYOJ 358 取石子 五)(斐波那契博弈)
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 himdd最近很想玩遊戲,於是他找到acmj和他一起玩,遊戲是這樣的 有一堆石子,兩個人輪流從其中取走一定的石子,取走最後所有石子的人為贏家,不過得遵循如下規則 1.第一次取不能取完,至少取1顆.2.從第二次開始,每個人取的石子...
取石子遊戲 (斐波那契博弈)
題目 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出 second win 先取者勝輸出 first win input 輸入有多組.每組第1行是2 n 2 31.n 0退出.output 先取者負輸出 se...