1055 取石子遊戲I

2021-10-08 03:50:17 字數 585 閱讀 8815

描述

一堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出"second win".先取者勝輸出"first win".

輸入多組測試資料。

每組測試資料報含1個整數n。(1輸出

對於每組測試資料,輸出誰獲勝.

輸入樣例:213

10000

輸出樣例:

second win

second win

first win

斐波那契博弈的特徵:

1.先手不能在第一次把所有的石子取完;

2.之後每次可以取的石子數介於1到對手剛取的石子數的2倍之間(包含1和對手剛取的石子數的2倍)。約定取走最後乙個石子的人為贏家,求必敗態

結論:先手勝當且僅當n不是fibonacci數

#include

#include

intf

(int x)

}return flag;

}int

main()

return0;

}

取石子遊戲

如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...

取石子遊戲

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。in...

取石子遊戲

取石子遊戲 time limit 1000ms memory limit 10000k total submissions 25176 accepted 7961 description 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆...