51Nod - 1066——Bash游戏(Bash博弈入门经典题)

 近日,stone学长去面试找工作,面试的时候面试官问了stone学长一道题:“总共有x张彩票并且这x张彩票是有序的,已知最后一张彩票是中奖号码,甲和乙两个人轮流买,并规定不能打乱彩票顺序,甲先买,每次每人最多买m张,最少买一张,由于甲乙两人都想获得大奖,所以在买彩票的过程中都特别谨慎肯定会买最合适的张数。现给出彩票总数x和每次最多能购买的彩票张书m。请问你能确定最后谁能获得大奖吗?”
例如:x=3,m=2;无论甲怎么买,最后获得大奖的肯定是乙;
stone学长非常想得到这份工作,那么机制的你们能帮一下stone学长解决这个问题吗?

Input

一个整数t表示测试实例有t组,接下来t行,每行两个数x,m中间用空格隔开。 (1<=t<=10000,1<=x,m<=1000000000)

Output

共t行,若甲获得大奖则输出A,若乙获得大奖则输出B。

Sample Input

5
5 2
6 2
7 4
8 3
12 5

Sample Output

A
B
A
B
B

代码:

#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;

int main(){
    int T;
    cin>>T;
    while(T--){
        int a,b;
        scanf("%d %d",&a,&b);
        if(a<=b)printf("A\n");
        else if(a % (b+1) == 0)printf("B\n");
        else printf("A\n");
    }
    return 0;
}
posted @ 2017-11-23 20:55  Assassin_poi君  阅读(152)  评论(0编辑  收藏  举报