题目大意:n个硬币排成一个圈,两个人依次取硬币,每次可以取一个或两个,取两个时必须是连续的两个,硬币取走后会留下空位,即不连续了。取走最后一枚硬币的获胜。
第一个人取走硬币之后,第二个人可以通过取一个或两个构成对称的两组,只要第一个人能取,那么第二个人也能取。
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int main() { int n; while(scanf("%d",&n),n) { if(n<=2) printf("Alice "); else printf("Bob "); } return 0; }