取石頭遊戲 博弈論 數學規律

2021-10-10 16:54:23 字數 697 閱讀 4424

兩個足夠聰明的人玩輪流取石頭的遊戲,誰取到最後乙個石頭誰就贏了,他們一次只能取1個、

3個、7個或

8個石頭,寫一程式判斷

n個石頭時先取的人是輸還是贏。

輸入格式:

多組輸入,乙個整數

n,其值不超過

10000000。

輸出格式:

如果先取的人贏,請以單獨一行輸出

1,否則輸出0。

輸入樣例

:

1

10300

輸出樣例

:

1 1

0

經過計算發現,n在15以內時,只有當n = 2 4 6 15 時第二個人才會贏,其他情況都是第乙個人贏。

當n大於15時,將n對15取餘,仍按照上述規則計算即可得出結果。

#include using namespace std;

/***

經過計算發現,n在15以內時,只有當n = 2 4 6 15 時第二個人才會贏

其他情況都是第乙個人贏。

當n大於15時,將n對15取餘,仍按照上述規則計算即可得出結果

***/

int main()

else

return 0;

}

參考: 

1、2、

博弈論 取棋子遊戲

題目大意 有兩堆石子,各為 n m 個,甲乙兩人輪流取石子,每次可以從任意一堆裡取走任意多個石子,也可以從兩堆中取走相同數量的石子,但不能不取。取走最後乙個石子的人為贏家。給出初始狀態,問先手有無必勝策略。資料範圍 rqnoj 256 1 n m 10000。poj 1067 1 n m 1,000...

取石子 博弈論 Nim遊戲

題目大意 有n堆石子,第i堆有ai個。每次可以選擇乙個x,選擇乙個質數p滿足p x,選擇乙個0 y a x 然後將y個石子從x移動到x p。問先手有多少種第一步移動的測率能夠必勝?答案除以總方案數輸出。n 106,0 ai 109n 10 6,0 ai 10 9題解 從最簡單的情況推導,什麼情況下是...

魔法遊戲 博弈論

題目大意 給一顆樹,每個位置有乙個權值,每次乙個人可以選擇森林中的某棵樹的根節點,設其權值為a aa,那麼這個人可以選擇乙個k 2,a 1 k in 2,a 1 k 2,a 1 然後讓a aa變成 ak left lfloor frac ak right rfloor ka 如果乙個點權值變為0那麼...