有2堆石子。a b兩個人輪流拿,a先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問最後誰能贏得比賽。
例如:2堆石子分別為3顆和5顆。那麼不論a怎樣拿,b都有對應的方法拿到最後1顆。
input
第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 10000)
第2 - t + 1行:每行2個數分別是2堆石子的數量,中間用空格分隔。(1 <= n <= 10^18)
output
共t行,如果a獲勝輸出a,如果b獲勝輸出b。
input示例
3
3 53 4
1 9
output示例
b
aa
大數乘法模擬
#include #include long long tmp[3] = ;
long long mod = 1000000000;
int main()
long long cha = b - a;
long long ta = cha / mod; long long tb = cha % mod;
long long tp = tb * tmp[2];
tp = ta * tmp[2] + tb * tmp[1] + tp / mod;
tp = ta * tmp[1] + tb * tmp[0] + tp / mod;
tp = ta * tmp[0] + tp / mod + cha;
if(tp == a)
printf("b\n");
else
printf("a\n"); }
return 0;
}
51nod 1185 威佐夫遊戲 V2
有2堆石子。a b兩個人輪流拿,a先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問最後誰能贏得比賽。例如 2堆石子分別為3顆和5顆。那麼不論a怎樣拿,b都有對應的方法拿到最後1顆。...
1185 威佐夫遊戲 V2
有2堆石子。a b兩個人輪流拿,a先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問最後誰能贏得比賽。例如 2堆石子分別為3顆和5顆。那麼不論a怎樣拿,b都有對應的方法拿到最後1顆。...
51Nod 威佐夫遊戲
1072 威佐夫遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有2堆石子。a b兩個人輪流拿,a先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問...