1068 Bash遊戲 V3 每三個一迴圈NP法)

2021-07-16 14:21:45 字數 761 閱讀 4187

1068 bash遊戲v3

ural 1180

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次拿的數量只能是2的正整數次冪,比如(1,2,4,8,16....),拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n,問最後誰能贏得比賽。

例如n = 3。a只能拿1顆或2顆,所以b可以拿到最後1顆石子。(輸入的n可能為大數)

input

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

第2 - t + 1行:每行1個數n。(1 <= n <= 10^1000)

output

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

3234

output示例

a

ba

用模擬會發現每三個一迴圈,只要是三的倍數,則先手一定會輸;
#include#include#include#includeusing namespace std;

char s[100000];

int main()

if(num%3)

printf("a\n");

else

printf("b\n");

}return 0;}

51nod 1068 Bash遊戲 V3 博弈

1068 bash遊戲 v3 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏關注有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次拿的數量只能是2的正整數次冪,比如 1,2,4,8,16.拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出...

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都非常聰明,拿石子的...

博弈 Bash遊戲 V3(SG 打表找規律)

有一堆石子共有n個。a b兩個人輪流拿,a先拿。每次拿的數量只能是2的正整數次冪,比如 1,2,4,8,16 拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n,問最後誰能贏得比賽。例如n 3。a只能拿1顆或2顆,所以b可以拿到最後1顆石子。輸入的n可能為大數 第1行...