#include<iostream>
#include<cstring>
#include<algorithm>
#include<math.h>
using namespace std;
int main() {
int n;
while (1) {
cin >> n;
if (n == 0)
break;
//由于是最优策略进行走步,不可能出现故意作死让对方赢的情况。
//于是最后的情况一定是走到不能再走,直至格子数为0.
//很明显,当有n*n-1为奇数的时候,后手会找不到格子,会输,即当n*n为偶数的情况下,后手会输
//反之,当n*n为奇数的时候,后手会赢.
// 而n*n的奇偶性和n相同
//n&1是位运算,相等于n%2
if (!(n & 1))//!比&高
cout << "Alice" << endl;
else
cout << "Bob" << endl;
}
}
洛谷p4136
最新推荐文章于 2024-07-15 22:10:26 发布