B http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5552

 

输入n,表示有n个数1到n。A先拿,B后拿,依次拿,每次可以拿任意一个数,同时会删去这个数的所有因子,最后谁没得拿了谁输。

 

解法:推了前几个,0,a输,别的a都能赢,证明没想,猜过去的。

网上一个人说的,也不是很清晰:“如果先取的在2-n中取必输,则先取1, 
否则则在2-n中取,同时会把1取走,必赢”

 

1 #include<cstdio>
2 int main(){
3     int n;
4     while(~scanf("%d",&n)){
5         puts(n?"win":"fail");
6     }
7     return 0;
8 }
View Code

相关文章: