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

hdu 2516 取石子游戏 博弈论---斐波那契额博弈 有一堆个数为n的石子,游戏双方轮流取石子,满足: 1)先手不能在第一次把所有的石子取完; 2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。 约定取走最后一个石子的人为赢家,求必败态。 这个和之前的Wythoff’s Game 和取石子游戏 有一个很大的不同点,就是游戏规则的动态化。之前的规则中,每次可以取的石子的策略集合是基本 阅读详情

斐波那契博弈

有一堆物品,两人轮流取物品,先手最少取一个,至多无上限,但不能把物品取完,之后每次取的物品数不能超过上一次取的物品数的二倍且至少为一件,取走最后一件物品的人获胜。

结论是:先手胜当且仅当n不是斐波那契数(n为物品总数)


#include <iostream>


using namespace std;

int main()
{
    long long n;
    int a[1001]={0};
    a[0]=1;
    a[1]=1;
    for(int i=2;i<=1000;i++)
    {
        a[i]=a[i-1]+a[i-2];
    }
    while(cin>>n&&n)
    {
        int flag=0;
        for(int i=0;i<=1000;i++)
        {
            if(a[i]>n)
                break;
            if(a[i]==n)
            {
                cout<<"Second win"<<endl;
                flag=1;
                break;
            }
        }
        if(flag==0)
            cout<<"First win"<<endl;
    }
    return 0;
}
14.1.2 蓝桥杯博弈论之斐波那契博弈 斐波那契博弈,又称为Zeckendorf游戏,是一个两人轮流进行的游戏。游戏开始时,有一堆共有n个物品。玩家轮流从中取物,每次至少取一个,最多可以取走前一次取物数量的两倍。首次取物时没有限制。谁取走最后一个物品,谁就获胜。斐波那契博弈作为博弈论中的一个经典案例,不仅在蓝桥杯中出现,也在其他算法竞赛中频繁被提及。掌握斐波那契博弈的策略和算法实现,对于提高竞赛水平有着重要的意义。通过不断练习和挑战,选手可以深化对博弈论的理解,并在实际比赛中运用这些知识来取得优异的成绩。 阅读详情

相关推荐

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 576

斐波那契博弈

引用:http://blog.youkuaiyun.com/dgq8211/article/details/7602807 有一堆个数为n的石子,游戏双方轮流取石子,满足: 1)先手不能在第一次把所有的石子取完; 2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。 约定取走最后一个石子的人为赢家,求必败态。 这个和之前的Wytho...

java开发指南博客 【转载】 708

HyperLPR3车牌识别-Android-SDK光速部署与使用

基于深度学习高性能中文车牌识别 High Performance Chinese License Plate Recognition Framework.快速部署AndroidSDK

tunm 6119

【博弈论 && 斐波那契博弈】 HRPA

这道题就是一个斐波那契博弈的经典模型:有一堆个数为n的石子,第一个人第一次不能全部取完,每次一个人取石子的个数都应当大于0,且小于等于上一个人取的石子个数的两倍。问是否有先手必胜策略。如果有,第一个人取的石子个数最少是多少?

鹭天 1316

EndNoteX9完整详细安装教程

EndNoteX9完整详细安装教程

rothschild666的博客 10万+

从原理到实践:详解双目散斑结构光的生成与优化

本文深入解析了双目散斑结构光的生成原理与优化实践,详细介绍了散斑结构光的抗干扰性、空间编码技术及其在三维视觉中的应用。通过对比不同生成方法和技术路线,提供了参数调优指南和工程实现细节,帮助开发者掌握高效、精准的散斑生成技术。

weixin_42521856的博客 591

博弈论-斐波那契博弈

1.斐波那契博弈是另种类型的博弈,这种博弈要求的条件是(1):博弈者还是两个人,n个物品(2)先手在第一次不能取完所有的物品,但是至少取走一个物品。(3)以后的每一个回合,每次取走的物品至多是上一个人的两倍,至少是一个。(4)先取完的人胜利。 2.同理,我们在这里还是要研究先手的必胜和必败态。在斐波那契博弈中,先手的必败态是:当物品的数量n是一个斐波那契数的时候,先手必败。至于证明,有点复杂,就...

YG爱木木 1332

OPNET网络仿真实验

外网

嚴 帅的博客 1万+

【博弈论】斐波那契博弈

斐波那契博弈 简介 一堆有nnn个物品,如果有甲乙两个人。甲和乙轮流从这对物品中选取物品,第一次可以取1∼n−11\sim n-11∼n−1个物品,后一个人能取的物品数范围是111到前一个人取的物品数222倍,最后取光物品的人获胜。 思路 若甲先手,设当前物品数为rrr。 当r≤3r\le 3r≤3时,甲无法取胜,甲必败。 当r=4r=4r=4时,甲取111,乙剩333个无法取胜,故甲必胜。 当r=5r=5r=5时,甲若取222个及以上乙必胜。甲若取111个,乙取111个又变成了r=3r=3r=3的情况,乙

cout0 784

详解AUTOSAR:DaVinci Configurator导入ARXML配置(拓展篇—2)

DaVinci Configurator导入ARXML配置。

不脱发的程序猿 3331

国产服务器系统的PXE无人值守自动化安装部署——以银河麒麟、统信UOS、OpenEuler这三类服务器系统为例

本文详细介绍了三种国产服务器系统(银河麒麟、统信UOS、OpenEuler)的PXE无人值守自动化安装方法。主要内容包括:1)从系统ISO镜像中提取内核文件和根系统文件;2)编写GRUB菜单引导文件;3)配置自动应答文件实现自动化安装;4)重启PXE服务并测试安装过程。文章特别强调了硬盘容量需≥100GB、UEFI模式设置等注意事项,并提供了root密码重置方法。对于x86架构Windows上模拟ARM架构系统安装也给出了具体命令。通过完整的配置流程,可实现国产服务器系统的快速批量部署。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1467

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

hdu 2516 取石子游戏 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 Ou

濡苏的博客 423

STM32F4 Flash数据的保存和读取。

STM32F4 Flash数据的保存和读取。

张一西的博客 9216

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

博弈问题巴士博弈HDU1846<-点击此处进入链接威尔夫博弈HDU1527<-点击此处进入链接斐波那契博弈HDU2516<-点击此处进入链接尼姆博弈HDUXXXx<-点击此处进入链接公平组合博弈HDUxxxx取石子游戏Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S

Tabris的博客 908

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4517    Accepted Submission(s): 2737 Problem Description 1堆石子有n个,两人轮流取.先取者第1次

K键盘里的青春K 725

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

题目链接:取石子游戏 - HDU 2516 - Virtual Judge (ppsucxtt.cn) 题目是中文的,我在这就不翻译了。 这道题目是斐波那契博弈的模板,当且仅当给定的石子数是斐波那契数时后手赢,其余情况均是先手赢。还不明白斐波那契博弈的小伙伴可以看下我之前写的博客,在这附上博客地址: (34条消息) 博弈论总结_AC__dream的博客-优快云博客 思路比较简单,直接上代码: #include<cstdio> #include<cstring> #inc

AC__dream的博客 351

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

题目大意: 就是现在有一堆石子有n颗 现在先手起始的时候能取走任意颗(至少一个, 且先手第一次不能全部取完), 然后接下来轮流取石子的时候两个人取的数量不能超过对方上一次取的两倍 取走最后一颗石子的人赢, 问先手胜还是后手胜 大致思路: 这个题看了题解之后才知道是斐波那契博弈的模型 参考资料:点击打开链接 Fibonacci Nim模型: 现在有一堆n石子, 两个人

Gatevin的专栏 2172

Hdu 2516 取石子游戏 【斐波那契博弈】

取石子游戏Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5147    Accepted Submission(s): 3108Problem Description1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完....

Emiya丶的博客 375

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

题目地址:HDU 2516 当且只当n是一个斐波那契数的时候是必败态。可以写出几组数据找规律就可以发现这个规律。 证明如下: 就像“Wythoff博弈”需要“Beatty定理”来帮忙一样,这里需要借助“Zeckendorf定理”(齐肯多夫定理):任何正整数可以表示为若干个不连续的Fibonacci数之和。 先看看FIB数列的必败证明: 1、当i=2时,先手只能取1颗,显然

scf0920 1432

【hdu 2516 取石子游戏】【斐波那契博弈】

题意 111堆石子有nnn个,两人轮流取,先取者第111次可以取任意多个,但不能全部取完。以后每次取的石子数不能超过上次取子数的222倍。取完者胜。问先手是否必胜。 n&lt;231n&lt;2^{31}n<231 分析 结论:先手必败当且仅当nnn是斐波那契数。 证明: 当n=2n=2n=2时显然成立。 若对于[1,n−1][1,n-1][1,n−1]上述结论均成立 当n&...

beginend 361

【HDU】2516 取石子游戏 斐波那契博弈

取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8450    Accepted Submission(s): 5142   Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个...

欢迎来到扣子不会飞的博客! 901

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

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2516 题目: Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win". Input 输...

di6499的博客 211

斐波那契博弈 hdu2516 取石子游戏

传送门:点击打开链接 题意:1堆石子n个,第一个人可以取任意个数但不能全部取完,以后每次拿的个数不能超过上一次对手拿的个数的2倍,轮流拿石子,问先手是否必赢 思路:斐波那契博弈,后手赢的情况的数字会呈现斐波那契数列。 #include #include #include #include #include #include #include #include #include #includ

qwb的博客 816

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

取石子游戏 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3018Accepted Submission(s): 1759 Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意...

318

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

斐波那契博弈

NeWnIx 506

HDU2516 - 取石子游戏【斐波那契博弈】

基本描述 有一堆个数为n的石子,游戏双方轮流取石子,满足: 先手不能再第一次把所有石子取完; 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间,包括1和对手取的石子数的2倍。  取最后石子的人为赢家。 结论 先说结论: 当且仅当n不是Fibonacci数时,先手必胜。换句话说,先手必败构成Fibonacci数列。 分析 证明需要前置技能,“Zeckendorf定理”(齐肯多夫...

独钓门前月 451
上一篇: Being a Good Boy in Spring Festival HDU - 1850(尼姆博弈)
下一篇: Good Luck in CET-4 Everybody! HDU - 1847(巴什博弈)
FDOM
博客等级 码龄10年 4粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值