XTU 1209 Alice and Bob (博弈)

Alice and Bob

Accepted : 174   Submit : 342
Time Limit : 1000 MS   Memory Limit : 65536 KB

Problem Description

The famous "Alice and Bob" are playing a game again. So now comes the new problem which need a person smart as you to decide the winner.The problem is as follows:They are playing on a rectangle paper, Alice and Bob take turn alternatively, for each turn, a people cut the rectangle vertically or horizontally, the result two rectangle after cut must be IDENTICAL, also the side must be integer, after the cut, one rectangle will be descarded. The first people fail to cut lose the game.Of course, Alice makes first as usual.

Input

First Line contains an integer t indicate there are t cases(1≤t≤1000)For each case:The input consists of two integers w and h(1≤w,h≤1,000,000,000), the size of rectangle.

Output

First output Case numberFor each case output Alice or Bob, indicate the winner.

Sample Input

2
1 2
2 2

Sample Output

Case 1: Alice
Case 2: Bob


Source

XTU OnlineJudge




解析:

简单博弈。由于是均分,则只需要判断w和h中的含有因子2的个数即可。




AC代码:

#include 
using namespace std;

typedef long long LL;

int main(){
    int t;
    LL w, h;
    scanf("%d", &t);
    for(int i=1; i<=t; i++){
        scanf("%lld%lld", &w, &h);
        int ans = 0;
        while(w % 2 == 0){ ans ++; w /= 2; }
        while(h % 2 == 0){ ans ++; h /= 2; }
        printf("Case %d: %s\n", i, ans % 2 ? "Alice" : "Bob");
    }
    return 0;
}


你可能感兴趣的:(博弈论)