题目大意:有两个人,Tang和Jiang,玩一个游戏,给出n和m,然后从Tang开始报数,每次最多报m个数,然后一个人报完后换另一个人报,但是报的数要接着前一个(比如T报了1,2,那么J就得从3开始报)然后谁报到n就算输,输出胜利者的名字。
解题思路:判断(n-1)%(m+1)是否为0即可。因为不管第一个人报多少,第二个人始终可以将每一轮报的数控制在m+1。
#include <stdio.h> int main () { int n, m; while (scanf("%d%d", &n, &m) == 2 && n+m) { printf("%s\n", (n-1)%(m+1) ? "Tang" : "Jiang"); } return 0; }
hdu 4764 Stone(博弈),布布扣,bubuko.com
原文:http://blog.csdn.net/keshuai19940722/article/details/20861933