Stone(博弈)

来源:互联网 发布:台湾人逛淘宝吗 编辑:程序博客网 时间:2024/05/02 04:04
分类: HDU GRADE:D 数学-博弈论 OL 186人阅读 评论(0) 收藏 举报

题目连接:hdu 4764 Stone


题目大意:有两个人,Tang和Jiang,玩一个游戏,给出n和m,然后从Tang开始报数,每次最多报m个数,然后一个人报完后换另一个人报,但是报的数要接着前一个(比如T报了1,2,那么J就得从3开始报)然后谁报到n就算输,输出胜利者的名字。


解题思路:判断(n-1)%(m+1)是否为0即可。因为不管第一个人报多少,第二个人始终可以将每一轮报的数控制在m+1。


[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #include <stdio.h>  
  2.   
  3. int main () {  
  4.     int n, m;  
  5.     while (scanf("%d%d", &n, &m) == 2 && n+m) {  
  6.         printf("%s\n", (n-1)%(m+1) ? "Tang" : "Jiang");  
  7.     }  
  8.     return 0;  
  9. }  
0 0