1846 (巴什博弈) Brave Game

 1 /*
2 巴什博奕(Bash Game):
3 只有一堆n个物品,两个人轮流从这堆物品中取物,规
4 定每次至少取一个,最多取m个。最后取光者得胜。
5 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。
6 因此我们发现了如何取胜的法则:如果n=(m+1)*r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,
7 那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,
8 以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。
9
10 */
11
12 # include <stdio.h>
13 int main()
14 {
15 int n, a, b;
16 scanf("%d", &n);
17 while (n--)
18 {
19 scanf("%d %d", &a, &b);
20 if (a % (b+1) != 0)
21 printf("first\n");
22 else
23 printf("second\n");
24 }
25 return 0;
26 }

 

posted on 2012-02-26 15:40  万里心晴  阅读(174)  评论(0编辑  收藏  举报