简单博弈题

来源:互联网 发布:王家卫体 知乎 编辑:程序博客网 时间:2024/05/01 06:53

HDOJ1846Brave Game

分析:就一个简单的巴什博弈。

代码:

#include<iostream>#include<stdio.h>#include<cstring>using namespace std;int main(){    int n,a,b;    scanf("%d",&n);    while(n--)    {        scanf("%d%d",&a,&b);        printf("%s\n",(a%(b+1)==0)?"second":"first");    }    return 0;}

HDOJ1847Good Luck in CET-4 Everybody!

分析:简单博弈题,很容易找到规律。

代码:

#include<iostream>#include<stdio.h>using namespace std;int main(){    int n;    while((scanf("%d",&n)!=EOF))        printf("%s\n",(n%3==0)?"Cici":"Kiki");    return 0;}

HDOJ2149Public Sale

分析:巴什博弈。初始状态会有所不同

代码:

#include<iostream>#include<stdio.h>using namespace std;int main(){    int m,n;    while((scanf("%d%d",&m,&n)!=EOF))    {        if(m%(n+1)==0)            printf("none\n");        else        {            if(n>m)            {                printf("%d",m);                for(int i=m+1;i<=n;i++)                    printf(" %d",i);                printf("\n");            }            else                printf("%d\n",m%(n+1));        }    }    return 0;}


原创粉丝点击