http://poj.org/problem?id=2484
一堆硬币环形放在桌上,Alice先取,Bob后取。
每次取一颗or取两颗,且只能取相邻的两颗。(相邻指中间不能有别的硬币或取走的硬币留下的空位)。取走最后一个硬币的人获胜。
输入硬币数,输出谁会获胜。(两人都够聪明)
《挑战程序设计竞赛》p307
当n>2时后手必胜。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;
int n;
int main(){
while (cin >> n&&n){
if (n<=2) cout << "Alice" << endl;
else cout << "Bob" << endl;
}
}