题目:一堆石子有n个, 每次可以取大于等于1不超过m的任意个,去最后一个的人胜利,给你n , m ,问先手必胜还是后手必胜。
思路:最优解是两个人每回合取(m+1)个数。所以只需要判断n%(m+1)的结果就可以
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <iomanip>
using namespace std;
//#pragma comment(linker, "/STACK:102400000,102400000")
#define maxn 200005
#define MOD 1000000007
#define mem(a , b) memset(a , b , sizeof(a))
#define LL long long
#define ULL long long
const long long INF=0x3fffffff;
int main()
{
int t , n , m;
cin >> t;
while(t--)
{
scanf("%d %d" , &n , &m);
if(n % (m + 1)) cout << "A" << endl;
else cout << "B" << endl;
}
return 0;
}