51nod 1066 Bash遊戲(巴什博奕)

2021-08-22 17:55:54 字數 741 閱讀 7062

基準時間限制:1 秒 空間限制:131072 kb 分值: 0 難度:基礎題

有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。

例如n = 3,k = 2。無論a如何拿,b都可以拿到最後1顆石子。

第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 10000)

第2 - t + 1行:每行2個數n,k。中間用空格分隔。(1 <= n,k <= 10^9)

共t行,如果a獲勝輸出a,如果b獲勝輸出b。

43 2

4 27 3

8 3baa

b巴什博奕定義:只有一堆石子,兩人輪流取,最少取乙個,最多取m個,最後去完者為勝。

思考(下面必勝點,必敗點是相對先手而言):

①當石子個數n=0時為必敗點;(根據題意得來)

②當石子個數0③當石子個數n=m+1時為必敗點;(只能到達狀態②)

④當石子個數m+1⑤當石子個數n=(m+1)+m+1時為必敗點;(只能到達狀態④)

當n為m+1的整數倍時為必敗點

#include#include#include#includeusing namespace std;

int main()

else printf("b\n");

} return 0;

}

51nod 1066 Bash遊戲 Bash博弈

1066 bash遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 收藏關注有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n ...

51nod 1066 Bash遊戲 博弈

1066 bash遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n 3,k ...

51Nod 1066 Bash遊戲(博弈)

基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次最少拿1顆,最多拿k顆,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n和k,問最後誰能贏得比賽。例如n 3,k 2。無論a如何拿,b都可...