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

hdu 2516(斐波拉切博弈)

时间:2014-05-14 23:42:42      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   c   

题意:容易理解。

分析:通过枚举寻找规律,这就是做1堆或者2堆石子博弈的技巧!当为2或者3时,肯定是第二个人赢,当为4时,先去一个石子,然后当对方面临3,于是第一个人赢,

当为5时,取1时,第二个人赢,取2时也是第二个人赢。。。,于是为5时也是滴二个人赢。。。多枚举几个之后就会发现只要满足斐波拉切数列的都是第二个人赢,其它的

则是第一个人赢!

 

代码实现:

bubuko.com,布布扣
#include<stdio.h>
#include<string.h>
int main()
{
    int n,i,t1,t2,flag;
    while(scanf("%d",&n)!=EOF&&n)
    {
        t1=2;t2=3;flag=1;
        if(n==2||n==3)
        {
            printf("Second win\n");
            continue;
        }
        for(i=t1+t2;i<=n;i=t1+t2)
        {
            if(i==n)
            {
                printf("Second win\n");
                flag=0;
                break;
            }
            t1=t2;
            t2=i;
        }
        if(flag)
         printf("First win\n");
    }
    return 0;
}
bubuko.com,布布扣

 

hdu 2516(斐波拉切博弈),布布扣,bubuko.com

hdu 2516(斐波拉切博弈)

标签:style   blog   class   code   java   c   

原文地址:http://www.cnblogs.com/jiangjing/p/3728735.html

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