题意:从已经得到的集合里面选取任意两个数,得到的差是以前没出现过的正数,
求出集合的最大个数就可以判断对错。
gcd(a,b) = gcd(b,a-b) = gcd(a,a-b) = x
可以知道,所有类似于(a-b)这种两个数的差值,一定是x的倍数。所以结合里面的元素全是x的倍数,只需求出有多少个。
n = max(a,b)/(__gcd(a,b)) - 2.
代码:
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#include<bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> pii;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const double eps = 1e-4;
const int mod = 999911659;
const int N = 1e6+10;
signed main(){
IOS;
#ifdef ddgo
freopen("C:/Users/asus/Desktop/ddgoin.txt","r",stdin);
#endif
int a,b; cin>>a>>b;
if(max(a,b)/(__gcd(a,b)) % 2) cout<<'A'<<endl;
else cout<<'B'<<endl;
return 0;
}