题目链接:HDU4764
题目大意:给两个数n,k,T和J两人轮流说数字,T先说,范围必须在【1,k】 然后之后的每次数字与前一次的数字的差要在[1,k]之间,第一个说的数字大于等于N的输掉。
第一个巴什博奕题目。
注意找必胜状态,因为取到N是必败状态,所以先手必胜状态是n-1 所以 (n-1)%(k+1)!=0 先手必胜。
AC代码:
/*
2017年8月23日21:59:43
HDU4764
巴什博奕
AC
*/
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
int main(){
int n,k;
while(~scanf("%d%d",&n,&k)&&n){
if((n-1)%(k+1)!=0) printf("Tang\n");
else printf("Jiang\n");
}
return 0;
}