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

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

题目:

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

思路:

fib[1]=1,fib[2]=2,fib[i]=fib[i-1]+fib[i-2](i>=3)

先手必胜当且仅当n不是Fibonacci数;反之,先手必败。

代码:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<algorithm>
#include<ctime>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<numeric>
using namespace std;
#define LL long long
#define ULL unsigned long long
#define INF 0x3f3f3f3fn
#define mm(a,b) memset(a,b,sizeof(a))
#define PP puts("*********************");
template<class T> T f_abs(T a){ return a > 0 ? a : -a; }
template<class T> T gcd(T a, T b){ return b ? gcd(b, a%b) : a; }
template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}
// 0x3f3f3f3f3f3f3f3f
//0x3f3f3f3f

LL fib[50];
int main(){

    int n;
    fib[1]=1;
    fib[2]=2;
    for(int i=3;i<=45;i++)
        fib[i]=fib[i-1]+fib[i-2];
    while(~scanf("%d",&n)){
        if(n==0)
            break;
        int i=1;
        for(;i<=45;i++)
            if(fib[i]==n)
                break;
        if(i<=45) printf("Second win\n");
        else printf("First win\n");
    }
    return 0;
}


信贷审批中的那些坑:从零开始搭建风控策略体系的5个关键步骤 本文深入探讨了信贷审批中的风控策略体系搭建,从数据陷阱识别、规则冲突诊断到反欺诈攻防,提供了5个关键步骤的实战指南。重点解析了如何通过特征工程、决策树优化和模型可解释性技术,构建动态平衡的风控体系,有效降低逾期风险并提升审批效率。 阅读详情

相关推荐

智能座舱音频系统集成与调试:从芯片选型到音质优化实战

在智能座舱域控制器架构中,音频系统已从简单的功放加扬声器演进为SoC、数字音频总线、外部DSP与多通道功放协同的复杂子系统。TDM总线的时隙分配、PDM麦克风阵列的信号完整性,以及AEC回声消除算法如何与硬件协同,直接决定多音区体验和语音交互的可靠性。工程实践中,音频调试的关键在于先理顺供电、接地、时钟与数据路由,再针对功放削波、采样率失配、TDM slot错位等典型问题进行系统性排查。从芯片选型到系统级指标验收,只有将音频链路视为整车电子电气架构的一个协同整体,才能真正实现从“响”到“好听”的跨越。本文结

weixin_30162121的博客 363

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

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

ACM!荣耀之路! 4441

飞牛Docker部署Zerotier后无法访问?三步搞定SSH权限配置!

本文详细解析了在飞牛NAS上通过Docker部署Zerotier后无法访问的常见问题及解决方案。重点介绍了SSH权限配置、tun模块加载和Docker容器权限设置等关键步骤,帮助用户快速解决虚拟网络接口的权限问题,确保Zerotier节点间的正常通信。

qq_27496129的博客 788

hdu2516——取石子游戏(FIB博弈)

1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出”Second win”.先取者胜输出”First win”.Input 输入有多组.每组第1行是2<=n<2^31. n=0退出.Output 先取者负输出”Second win”. 先取者胜输出”First win”. 参看Sample Output.

Beyond the Sora 1330

riscv32-gcc工具链实战:从下载到编译的完整指南

本文提供了一份详尽的riscv32-gcc工具链实战指南,涵盖从官方渠道下载预编译版本、正确选择riscv32-glibc版本、配置环境变量到实战编译的全过程。通过清晰的步骤和避坑指南,帮助开发者快速搭建稳定的RISC-V交叉编译环境,并成功编译从Hello World到Linux内核的程序。

s3t4u的博客 675

别再乱改grub.cfg了!手把手教你用GRUB2自定义多系统启动菜单(含UEFI/BIOS双模式配置)

本文详细介绍了如何安全、高效地使用GRUB2自定义多系统启动菜单,涵盖UEFI/BIOS双模式配置。通过避免直接编辑grub.cfg文件,采用正确的配置方法和命令,帮助用户打造稳定且美观的启动环境,特别适合Linux多系统用户和开发者。

weixin_42553471的博客 590

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

题目传送门 取石子游戏 题目大意 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win". 思路 找规律会发现每一个必败点都是斐波那契数列中的值 AC Code #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<cstdio> #include<algorithm> #i

Kuricip的博客 236

基于STM32的馆藏文物保存环境监测系统设计与实现

针对馆藏文物保存环境中温湿度、光照、有害气体等参数波动易导致文物损坏的问题,本文设计了一种基于STM32微控制器的馆藏文物保存环境监测系统。该系统以STM32L431RCT6为核心,集成高精度传感器实现多参数实时采集,通过有线与无线结合的通信方式构建监测网络,具备数据存储、异常预警、远程监控等功能。测试结果表明,系统温湿度测量精度分别达±0.2℃、±2%RH,光照与有害气体检测误差≤5%,可满足文物保存环境的高精度监测需求,为文物保护提供科学的数据支撑。

m0_74026776的博客 1541

HDU-2516-取石子游戏

ACM模版描述题解NimNim 游戏中的斐波那契数列游戏,判断 nn 是否为斐波那契数即可。代码#include <iostream>using namespace std;const int MAXN = 50;int n; long long fib[MAXN] = {0, 1, 1};void init() { for (int i = 3; i < MAXN; i++) {

逐梦者 1159

ESP32学习笔记03-日志打印

日志分为5个等级。

Car12 1414

高级数据结构之R树(R-tree)

R树(R-tree)是一种将B树扩展到多维情况下得到的数据结构,它最初由Antonin Guttman于1984年提出。B树的结点中会存储一个键的集合,这些键把线分成片段,沿着那条线的点仅属于一个片段。因此,B树使得我们可以很容易地找到点。如果把沿线各处的点表示成B树结点,我们就能够确定点所属唯一子结点,在那里可以找到该点。 Antonin Guttman在他提出R树的经典论文中给出的R树例子...

白马负金羁 1万+

HDU - 2516(37/600)

1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出”Second win”.先取者胜输出”First win”. Input 输入有多组.每组第1行是2<=n<2^31. n=0退出. Output 先取者负输出”Second win”. 先取者胜输出”First win”. 参看Sample O

NineFailure的博客 345

【100%通过率】2023华为od机试C卷【围棋的气】Python 实现

围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点,对奔双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。 “气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中,有几个交叉点没有棋子,由此可知:

MISAYAONE的博客 1855

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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

Gatevin的专栏 2172

IEM模型,地表粗糙度模拟

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

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

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

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

AC__dream的博客 351

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 360

【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

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

斐波那契博弈

NeWnIx 506

斐波那契博弈 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 - 1525 Euclid's Game
下一篇: HDU - 3032 Nim or not Nim?
我不会额
博客等级 码龄11年 2粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值