关闭

HDU 2516取石子游戏(巴什博弈)

标签: HDU-巴什博弈
213人阅读 评论(0) 收藏 举报
分类:

取石子游戏

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4093 Accepted Submission(s): 2449

Problem Description
1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出”Second win”.先取者胜输出”First win”.

Input
输入有多组.每组第1行是2<=n<2^31. n=0退出.

Output
先取者负输出”Second win”. 先取者胜输出”First win”.
参看Sample Output.

Sample Input
2
13
10000
0

Sample Output
Second win
Second win
First win

#include<stdio.h>
int main()
{
    int i,j,n;
    __int64 Fb[40000];
    //因为n可以拆分,假如n=5→3+2 3和2是基本必败点 故第一人输第二人赢
    //假设是6→1+5,第一人先取若干数使第二人处于必败点 则第一人赢 
    while(scanf("%d",&n)!=EOF&&n!=0){
    Fb[0]=1;Fb[1]=2;
    for(i=2;i<40000;i++)
        Fb[i]=Fb[i-1]+Fb[i-2];
    for(i=1;i<40000&&n!=Fb[i];i++);
    if(i==40000)
        printf("First win\n");
    else
        printf("Second win\n");
    }
}
1
0
查看评论

HDU 2516 取石子游戏(巴什博弈)

1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".
  • IAccepted
  • IAccepted
  • 2014-05-08 13:58
  • 2129

HDU2516:取石子游戏(斐波那契博弈)

Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".  ...
  • libin56842
  • libin56842
  • 2013-12-20 15:12
  • 2206

hdu 2516 取石子游戏(斐波那契博弈)

取石子游戏 Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win"...
  • ldw201510803006
  • ldw201510803006
  • 2017-04-02 09:37
  • 136

hdu 2516 取石子游戏(组合游戏)

题目连接:hdu 2516 取石子游戏 题目大意:略。 解题思路:K倍动态减法,K=2的情况为斐波那契数列。 #include #include #include using namespace std; typedef long long ll; int n; ll k, ...
  • u011328934
  • u011328934
  • 2014-08-09 18:06
  • 600

HDU 2516 取石子游戏 [斐波那契博弈]

博弈问题巴士博弈HDU1846<-点击此处进入链接威尔夫博弈HDU1527<-点击此处进入链接斐波那契博弈HDU2516<-点击此处进入链接尼姆博弈HDUXXXx<-点击此处进入链接公平组合博弈HDUxxxx取石子游戏Time Limit: 2000/1000 MS (Jav...
  • qq_33184171
  • qq_33184171
  • 2016-03-06 13:57
  • 509

取石子游戏 - HDU 2516 博弈论

取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3207  &...
  • u014733623
  • u014733623
  • 2015-05-29 15:31
  • 310

hdu 2516 取石子游戏 (博弈论)

方法: 通过找规律可以发现斐波拉契数列
  • u012659423
  • u012659423
  • 2014-11-09 20:21
  • 460

HDU 2516 取石子游戏 (斐波那契博弈)

大神博客:http://blog.csdn.net/acm_cxlove/article/details/7835016 #include #include #include #include using namespace std; long long f[60]={0,1,2}; ...
  • u013611908
  • u013611908
  • 2015-04-13 17:59
  • 348

hdu~2516~取石子游戏

证明:http://yjq24.blogbus.com/logs/46150651.html   很纠结,一开始推错了,看了解题报告才知道是斐波拉契博弈,不过证明还是有点不太明白,要看证明的点上面的链接,个人感觉写得还不错。。。   ACcode: #include ...
  • MarkChenXing
  • MarkChenXing
  • 2012-08-13 20:31
  • 285

HDU 2516 取石子游戏 (博弈论)

HDU 2516 取石子游戏 (博弈论) 解题思路: 这题没法用sg直接求了,数据量太大了,而且sg会受上次的影响,所以不一定。 因此,只能打表找规律,找到规律发现如果满足斐波那契数列 f[n]=f[n-1]+f[n-2] 的数列,Second Win 否则 ,First Win
  • a1061747415
  • a1061747415
  • 2014-07-04 20:10
  • 701
    个人资料
    • 访问:42714次
    • 积分:1801
    • 等级:
    • 排名:千里之外
    • 原创:139篇
    • 转载:14篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论