有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次拿的數量只能是2的正整數次冪,比如(1,2,4,8,16…),拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n,問最後誰能贏得比賽。
例如n = 3。a只能拿1顆或2顆,所以b可以拿到最後1顆石子。(輸入的n可能為大數)
第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 1000) 第2 - t + 1行:每行1個數n。(1 <= n <= 10^1000)
共t行,如果a獲勝輸出a,如果b獲勝輸出b。32
34ab
a這題可以通過 sg 打表來尋找規律
從上圖中可以看出,當 n % 3 = 0 時,b 贏,反之,a 贏。
打表**:
#include
#include
#include
#include
#include
#include
using
namespace std;
int s[
100000
],sg[
100000
],f[10]
=;void
getsg
(int n)
for(
int t=0;
;t++)}
cout<<
"i="
<
" sg[i]="
<
<
intmain()
ac **:
#include
#include
#include
#include
#include
using
namespace std;
intmain()
if(n==0)
else
}return0;
}
1068 Bash遊戲 V3 (sg打表找規律)
1068 bash遊戲 v3 ural 1180 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次拿的數量只能是2的正整數次冪,比如 1,2,4,8,16.拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的...
邂逅明下 博弈 SG打表找規律)
當日遇到月,於是有了明。當我遇到了你,便成了侶。那天,日月相會,我見到了你。而且,大地失去了光輝,你我是否成侶?這注定是個淒美的故事。以上是廢話 小t和所有世俗的人們一樣,期待那百年難遇的日食。駐足街頭看天,看日月漸漸走近,小t的脖子那個酸呀 他堅持這個姿勢已經有半個多小時啦 他低下仰起的頭,環顧四...
hdu2147 bash博弈(打P N表找規律)
input input contains multiple test cases.each line contains two integer n,m 0output if kiki wins the game printf wonderful else what a pity sample inp...