「Cfz Round 3」Battle
题目描述
Alice 和 Bob 正在进行一个游戏,游戏的规则如下:
- Alice 初始时拥有一个整数 n n n,Bob 初始时拥有一个整数 m m m;
- 从 Alice 开始,两人轮流对对方拥有的整数进行操作:设对方此时拥有的整数为 h h h,使 h h h 的值减去 h m o d p h \bmod p hmodp,其中 m o d \bmod mod 表示取模运算, p p p 是给定的一个定值;
- 两人中率先使对方拥有的整数变为 0 0 0 的人获得胜利,若在两人分别进行 1 0 1 0 9961 10^{10^{9961}} 10109961 次操作后仍无人获得胜利,则认为游戏平局。
你需要判断谁将会获得胜利,或报告游戏将会平局。
输入格式
本题有多组测试数据。
第一行输入一个整数 T T T,表示测试数据组数。
接下来依次输入每组测试数据。对于每组测试数据,输入三个整数 n , m , p n,m,p n,m,p。
输出格式
对于每组数据,一行一个字符串表示答案:
- 若 Alice 将会获得胜利,则输出
Alice
; - 若 Bob 将会获得胜利,则输出
Bob
; - 若游戏将会平局,则输出
Lasting Battle
。
样例 #1
样例输入 #1
3
1 2 10
9 11 11
55 15 14
样例输出 #1
Alice
Bob
Lasting Battle
提示说明
「样例解释 #1」
对于第 1 1 1 组数据,Alice 在第一次操作中就会将 Bob 拥有的整数从 2 2 2 变为 2 − ( 2 m o d 10 ) 2-(2\bmod 10) 2−(2mod10) 即 0 0 0,所以 Alice 将会获得胜利。
对于第 2 2 2 组数据,Alice 在第一次操作中会将 Bob 拥有的整数从 11 11 11 变为 11 − ( 11 m o d 11 ) 11-(11\bmod 11) 11−(11mod11) 即 11 11 11,而 Bob 在第一次操作中会将 Alice 拥有的整数从 9 9 9 变为 9 − ( 9 m o d 11 ) 9-(9 \bmod 11) 9−(9mod11) 即 0 0 0,所以 Bob 将会获得胜利。
对于第 3 3 3 组数据,可以证明游戏将会平局。
「数据范围」
对于所有数据, 1 ≤ T ≤ 5000 1 \leq T \leq 5000 1≤T≤5000, 1 ≤ n , m , p ≤ 2 × 1 0 9 1 \leq n, m, p \leq 2\times 10^9 1≤n,m,p≤2×109。
只有你通过本题的所有测试点,你才能获得本题的分数。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll t;
cin>>t;
while(t--)
{
ll x,y,p;
cin>>x>>y>>p;
if(y<p) cout<<"Alice"<<endl;
else if(x<p) cout<<"Bob"<<endl;
else cout<<"Lasting Battle"<<endl;
}
return 0;
}