zoj 3882 博弈

题意:有[1,n]的n个数字,A和B两人每次选一个数字,并把这个数字和这个数字的所有约数删去,没有数字可选的人败,问先手必胜还是必败。

思路:反推,假设先手必败,即先手无论取哪个数字,后手都可以选到一个数字x使得先手必败,那么假设先手取1,后手然后取x,那么先手只要第一次取x就可以胜,所以先手必胜。

 1 #include <cstdio>
 2 using namespace std;
 3 
 4 int main ()
 5 {
 6     int n;
 7     while ( scanf("%d", &n) != EOF )
 8     {
 9         if ( n == 0 ) puts("fail");
10         else puts("win");
11     }
12     return 0;
13 }

 

posted @ 2015-07-28 10:44  hxy_has_been_used  阅读(139)  评论(0编辑  收藏  举报