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.
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.
First output Case number For each case output Alice or Bob, indicate the winner.
2 1 2 2 2
Case 1: Alice Case 2: Bob
#include <iostream> #include <cstdio> using namespace std; int j; void compete(int w,int h)//递归 { if(w%2==0) //这里还可以写成 (!w&1) { w/=2; j++; compete(w,h); } else if(h%2==0) { h/=2; j++; compete(w,h); } } int main() { int t,i; int w,h; scanf("%d",&t); for(i=1;i<=t;i++) { j=0; scanf("%d%d",&w,&h); compete(w,h); printf("Case %d: ",i); if(j%2==0) printf("Bob\n"); else printf("Alice\n"); } return 0; }