【题解】P4136
首先我们知道如果
- 当
n 为偶数时我们可以把整个棋盘分成多个1\times 2 的方形,因为都是以最优解来走的,所以后手每次都会走到一个新的方形里,给先手留下一个空位,所以后手必败。 - 当
n 为奇数时我们可以把除了起点外整个棋盘分成多个1\times 2 的方形,那么每次就是先手走到新的方形里,所以先手必败。
综上所述我么只需要每次判断
代码实现
#include<bits/stdc++.h>
using namespace std;
//puts可以直接换行,在这种题我觉得很好用
int main(){
long long n;//十年oi一场空,不开longlong见祖宗
while((cin>>n)&&n){
if(n%2==0) puts("Alice");//n为偶数, 则先手胜
else puts("Bob");//否则为后手胜
}
return 0;
}