HDOJ 4764 - Stone 巴什博弈模板题...

来源:互联网 发布:网络智能电视机顶盒 编辑:程序博客网 时间:2024/05/17 08:58

              题意:

                       Tang和jiang玩游戏..从0数开始每次加(1~K)..第一个加出N的人输,Tang先走..现在告诉N,K,问谁会赢?

              题解:

                       简单的巴什博弈...当(N-1)%(K+1)时先手必胜,否则后手必胜..因为若能每次取得K-1的倍数..就能控制住对方的下一步范围..


Program:

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<vector>#include<cstdlib>#include<stack>#include<map>#define MAXN 100005#define MAXM 1000505#define ll long long #define eps 1e-8using namespace std;   int main(){       int N,K;      while (~scanf("%d%d",&N,&K) && N)    {             if ((N-1)%(K+1)) printf("Tang\n");                       else   printf("Jiang\n");    }    return 0;}