欢迎访问我的个人网站==》 jiashubing.cn

HDU 4764 Stone(博弈)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764

题目大意:Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败,Tang先取,求博弈。

Sample Input
1 1
30 3
10 2
0 0
 
Sample Output
Jiang
Tang
Jiang

分析:可以看成是谁先取完n-1个石子,谁获胜,则变成完完全全的巴什博弈,当然要考虑特殊情况。

代码如下:

 1 #include<iostream>
 2 # include<cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,m;
 7 
 8     while(scanf("%d%d",&n,&m)&& n&&m)
 9     {
10         if(n==1)
11         {
12             printf("Jiang\n");
13             continue;
14         }
15         if(m>=n)
16         {
17             printf("Tang\n");
18             continue;
19         }
20         n--;
21         if(n%(m+1))
22             printf("Tang\n");
23         else
24             printf("Jiang\n");
25     }
26     return 0;
27 }

 

posted @ 2013-09-30 08:00  贾树丙  阅读(273)  评论(0编辑  收藏  举报