码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 3951 Coin Game (博弈)

时间:2015-05-06 23:04:24      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

又是一道博大精深的博弈题目。
已经说了 巴什博弈威佐夫博弈尼姆博弈SG函数找规律的博弈,这次和找规律有点类似——对称博弈。
一般都是圆啊方啊什么的。

对于这道题而言,可以有三种情况:
①k等于1    一次最多只能拿1个(每堆只有一个),那就是看奇偶了。
②n≤k  这种情况,那肯定先拿的赢。
③ 这条就是对称博弈了, 除了上述两种情况外的情况(n>k && k!=1)
    这时候,无论你第一个人拿什么,怎么拿,后手的人完全可以在第一个人拿的对称的地方做同样的事情。
这样,后手就一定会取得胜利,因为最后一步是后手走的。

第三条自己在本上画一画就不难发现了。

恩,博弈论,暂时就先到这里了。。。。
#include<stdio.h>
int main()
{
    int t,i,n,k;
    scanf("%d",&t);
    for(i=1;i<=t;i++){
        scanf("%d%d",&n,&k);
        printf("Case %d: ",i);
        if(k==1){
            if(n&1) printf("first\n");
            else printf("second\n");
        }
        else if(n<=k) printf("first\n");
        else printf("second\n");
    }
    return 0;
}


HDU 3951 Coin Game (博弈)

标签:

原文地址:http://blog.csdn.net/a197p/article/details/45540917

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!