HDU 2897-邂逅明下 博弈论初步 巴什博弈

博弈论经典例题总结 从0开始的博弈论 首先复习一下基础知识:博弈论基础知识 博弈论有种找规律的感觉,基本上的模型虽然是有的,但是重点还在于找规律,找到了规律然后模型化,就是这个题目的模板了吧。 希望博弈论可以对我这个数论刚入门的菜鸡友好一点点! 小小的自我感觉出来的总结: 一堆东西优先巴士博弈(找规律、SG函数),其次斐波那契 两堆东西威佐夫博弈 n队东西Nim博弈 最简单的博弈 lv_5 *5... 阅读详情

Description

当日遇到月,于是有了明。当我遇到了你,便成了侣。
那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)
小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?站着小t身边的天使。
小t对mm惊呼:“缘分呐~~”。mm却毫不含糊:“是啊,500年一遇哦!”(此后省略5000字….)
小t赶紧向mm要联系方式,可mm说:“我和你玩个游戏吧,赢了,我就把我的手机号告诉你。”小t,心想天下哪有题目能难倒我呢,便满口答应下来。mm开始说游戏规则:“我有一堆硬币,一共7枚,从这个硬币堆里取硬币,一次最少取2枚,最多4枚,如果剩下少于2枚就要一次取完。我和你轮流取,直到堆里的硬币取完,最后一次取硬币的算输。我玩过这个游戏好多次了,就让让你,让你先取吧~”
小t掐指一算,不对呀,这是不可能的任务么。小t露出得意的笑:“还是mm优先啦,呵呵~”mm霎时愣住了,想是对小t的反应出乎意料吧。
她却也不生气:“好小子,挺聪明呢,要不这样吧,你把我的邮箱给我,我给你发个文本,每行有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完。两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输。对于每一行的三个数字,给出先取的人是否有必胜策略,如果有回答WIN,否则回答LOST。你把对应的答案发给我,如果你能在今天晚上8点以前发给我正确答案,或许我们明天下午可以再见。”
小t二话没说,将自己的邮箱给了mm。当他兴冲冲得赶回家,上网看邮箱,哇!mm的邮件已经到了。他发现文本长达100000行,每行的三个数字都很大,但是都是不超过65536的整数。小t看表已经下午6点了,要想手工算出所有结果,看来是不可能了。你能帮帮他,让他再见到那个mm吗?

Input

不超过100000行,每行三个正整数n,p,q。

Output

对应每行输入,按前面介绍的游戏规则,判断先取者是否有必胜策略。输出WIN或者LOST。

Sample Input

7 2 4
6 2 4

Sample Output

LOST
WIN

Background

巴什博弈

简述

什么是巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。

分析

我们称先进行游戏的人为先手,另一个人为后手。

1、如果 n=m+1n=m+1 ,那么由于一次最多只能取 mm 个,所以,无论先手拿走多少个,后手都能够一次拿走剩余的物品,后者取胜。
2、如果 n=(m+1)∗r+sn=(m+1)∗r+s ,(r为任意自然数, s≤ms≤m ),先手要拿走s个物品,如果后手拿走 k(k≤m)k(k≤m) 个,那么先手再拿走 m+1−km+1−k 个,结果剩下 (m+1)∗(r−1)(m+1)∗(r−1) 个,以后保持这样的取法,那么先取者肯定获胜。我们得到如下结论:要保持给对手留下 (m+1)(m+1) 的倍数,就能最后获胜。

必胜态必败态

只要 nn 不能整除 m+1m+1 ,那么必然是先手取胜,否则后手取胜。

#include<bits/stdc++.h>
using namespace std;
#define Rep(n) for(int i=0;i<int(n);i++)
#define MSET(a) memset(a,0,sizeof(a))
const int maxn=100000;
bool sg[maxn];
int n,p,q;
void procedure()
{
    MSET(sg);
    sg[0]=1;
    int pos=0;
    while(pos<=maxn)
    {
        if(!sg[pos])
        {
            for(int y=pos+p; y<=pos+q; y++)
            {
                sg[y]=1;
            }
        }
        pos++;
    }
}
int main()
{

    ios::sync_with_stdio(0);
    while(cin>>n>>p>>q)
    {
        procedure();
        //if(!sg[n]) cout<<"LOST\n";
        // else cout<<"WIN\n";
        int pp=(n%(p+q));
        if(pp<=p&&pp) cout<<"LOST\n";
        else cout<<"WIN\n";
    }
    return 0;
}
博弈类题目小结(HDU,POJ,ZOJ) 转载请注明出处,谢谢http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents    by---cxlove 首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.youkuaiyun.com/ac 阅读详情

相关推荐

SAP LTMC实战指南:物料主数据高效导入全解析

本文详细解析了SAP LTMC工具在物料主数据高效导入中的实战应用,包括工具选择、项目搭建、模板定制、数据导入全流程及常见问题解决方案。重点介绍了LTMC的预置模板、LTMOM灵活配置、数据校验机制等核心功能,帮助用户快速掌握SAP数据迁移技巧,提升工作效率。

weixin_33738555的博客 435

HDOJ HDU 2897 邂逅明下 ACM 2897 IN HDU

MiYu原创, 转帖请注明 : 转载自______________白白の屋题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2897题目描述:ProblemDescription当日遇到月,于是有了明。当我遇到了你,便成了侣。那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)小t和所...

weixin_30625691的博客 301

基于stm32开发的红外循迹小车

2.L298N电机驱动模块:分别是5V,12V,GND,可以通过外加电源给驱动模块供电,IN1,IN2,IN3,IN4,EN1,EN2,通过给IN口不同的电平,可以达到控制电机正反转,EN口为使能口,可以通过给EN口不同的PWM波,来达到控制小车速度,1.红外循迹模块:检测黑线的原理是向外发射红外线,当没有遇到黑线的时候,返回回来,之后返回高电平,当遇到黑线的时候,红外被吸收,返回高电平,读取相应IO口的电平就可以知道小车此时的大致位置;模块有四个输入接口,分别连接四个TT马达,驱动小车运动;

2301_81374681的博客 1万+

邂逅明下 HDU - 2897 (巴什博弈)

题目超长,讲了很多废话,其实就是巴什博弈的变形。1、若当前石子共有n =(p+q)* r个,则先手必胜,必胜策略为:第一次取q个,以后每次若后手取K个,先手再取取(p+q-k)个,如此下去最后必剩下p个给后手,所以先手必胜。2、若n =(p+q)* r + left个(1&lt; left &lt;= p)先手必败,必胜策略为:每次取石子活动中,若先手取k个,则后手去(p+q-k)个,那么最后剩下...

blaze_jack 378

TSMaster MBD模块实战:如何用Simulink模型快速搭建汽车电子测试环境

本文实战演示了如何利用TSMaster的MBD模块,将Simulink模型快速部署为汽车电子自动化测试环境的核心。通过建立模型与TSMaster系统变量的实时数据通道,并利用数据仓库统一数据定义,工程师能无缝连接算法仿真与真实总线网络,显著提升从模型到HIL测试的验证效率。

php55的博客 207

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

HDU 2897 邂逅明下 简单博弈

题目大意: 就是现在一堆石子有n颗, 每次只能拿走p~q颗, 当剩余少于p颗的时候必须一次拿完 拿走最后一颗的人败 问谁会获得胜利 大致思路: 首先不难发现当n 以此类推所有k*(p + q) + 1 代码如下: Result  :  Accepted     Memory  :  1620 KB     Time  :  140 ms /* * Autho

Gatevin的专栏 1044

2024秋招,腾讯测试与质量管理工程师一面

家人们,秋招都开奖了吗,拿到自己心仪的offer了吗,还是在准备明年的春招呢?今天我记录一下,之前面试腾讯测开的一面过程面试官人非常好,我回答中有问题的地方,及时帮我指正同时耐心回答我的反问只可惜我当时的能力不足以达到鹅厂的标准,遗憾错过。

chowley的博客 1058

HDU 2897 邂逅明下(SG博弈论)

题目地址:HDU 2897 本来这题可以用NP状态转换,但是数据太大,所以可以通过打表sg函数值,来找出规律。感觉sg函数打表就是利用的NP状态转换的那两条规则。 通过打表可以发现,从1开始,连续p个0,然后接着连续q个正整数,然后再连续p个0,接着连续q个正整数,就这样循环下去。所以规律就很明显了。 代码如下: #include #include #include #include

scf0920 1581

python中frida的安装+frida-server(雷电模拟器)保姆级安装教程

frida的安装,安卓逆向,adb

2301_80224944的博客 4582

CarSim - 仿真汽车驾驶行为的完整源代码及描述

以上是多年收集的稀有软件CarSim的源代码和描述,借助CarSim提供的功能,用户可以准确地模拟和研究汽车的驾驶行为,为汽车设计、驾驶辅助系统等领域提供有价值的支持。是一款用于模拟汽车驾驶行为的稀有软件,它经过多年的收集和开发,提供了一套完整的源代码和相应的描述,能够准确地模拟真实世界中的汽车运动和操控。CarSim的源代码采用现代化的。

weixin_50547796的博客 293

HDU 2897 邂逅明下【bash博弈】

http://acm.hdu.edu.cn/showproblem.php?pid=2897 HDU 2897 邂逅明下 大意:一堆石子共有n个,A,B两人轮流从中取,每次取的石子数必须在[p,q]区间内,若剩下的石子数少于p个,当前取者必须全部取完。最后取石子的人输。给出n,p,q,问先取者是否有必胜策略? Bash博弈的变形假设先取者为A,后取者为B,初始状态下有石子n个,除最...

a48634331的博客 158

uniapp - 最新微信小程序手机号一键登录功能效果,uniapp小程序实现手机号码一键登录,uniapp微信小程序端通过手机号授权完成立即登录操作(详细示例源码,新手小白一键复制开箱即用)

uniapp,微信小程序,uniapp小程序平台,uniApp手机号一键登录,uniapp小程序端手机号一键登录功能,实现微信小程序手机号一键登录,在uniapp中实现获取手机一键登录功能,uniapp手机号快捷登录,uniapp微信小程序授权登录并获取手机号,微信小程序手机号快速验证组件调用方式,uniapp小程序怎么用手机号一键登录,uniapp一键登录流程及代码,如何获取手机号一键登录到小程序,微信小程序获取本机手机号一键登录功能,新手详细教程,详细手机一键登录完整示例代码,uni-app微信unia

✅ 精选推荐文章 1万+

HDU 2897 邂逅明下 ( bash 博弈变形

HDU 2897 邂逅明下 ( bash 博弈变形 题目大意 有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完。两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输。 解题思路 若 n == k * (p + q), 则 A 必胜 第一次 A 取 p 个, 之后每次 B 取 x 个时, A 取 (p + q - ...

afnt38230的博客 183

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VC中sqlite的使用

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

邂逅明下 HDU - 2897 巴什博弈变形&&博弈论

当日遇到月,于是有了明。当我遇到了你,便成了侣。  那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)  小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?...

W349652743的博客 230

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU 2897 邂逅明下(巴什博弈)

当日遇到月,于是有了明。当我遇到了你,便成了侣。 那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话) 小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?站着小t身边的天使。 小t对mm惊呼:“缘分呐~~”。mm却毫不含糊:“是啊,500年一遇哦!”(此后省略5000字

凌风 2634

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

hdu 1846 2897 巴什博弈

Brave Game Time Limit: 1000/1000 MS(Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9648    Accepted Submission(s): 6437 Problem Description 十年前读大学的时候,中国每年都要从国

lym77777的博客 363

HDU 2897巴什博弈变形

邂逅明下 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2144    Accepted Submission(s): 974 Problem Description 当日遇到月,于是有了明。当我遇到了你,便成了

风尘_浪子 1148

邂逅明下 HDU - 2897(巴什博弈)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2897 题意:一堆有n个石子,一次最少取p个,最多取q个,小于p个则一次性取完,取完者输。 思路:我们可以转化成巴什博弈,变成取完者赢,设m=p+q。那么在不取最后一块的前提下,如果他取了倒数第二块,那么下一个必败,此时(n-1)%m=0,后手必胜,即n%m=1。只要他留给对手的块数小于p,那么他必胜,...

呼吸 225

HDU 2897 邂逅明下

题目链接:HDU 2897 邂逅明下 第一感觉是打SG表,后来听说会超时,幸亏没这么做。。。 我们先假设A先取,B后取。初始状态下有N个石子,当N=(p+q)*r时,(r为任意自然数),此时,A先取q个石子,以后B每次取k个石子,那么A就从剩下的石子里面取(p+q)-k个石子,最后剩下p个石子,B只能一次取完,所以此时A必胜。 若N=(p+q)*r+s,其中0 若N=(p+

fobdddf的专栏 648

邂逅明下 HDU - 2897 (博弈论--巴什博弈变形)

当日遇到月,于是有了明。当我遇到了你,便成了侣。 那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话) 小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?站着...

smilng的博客 197

(HDU - 2897)邂逅明下(巴什博弈)

题目链接:邂逅明下 - HDU 2897 - Virtual Judge (ppsucxtt.cn) 分析:这道题目是巴什博弈的变形题,但本质上我们所维护的数据是相差不大的,对于一般的巴什博弈题目我们每次可以取1~m,所以我们维护的值是m+1,而对于这道题目来说我们每次可以取p~q,所以不难想到我们需要维护的值就是p+q,但是与巴什博弈裸体还有个不同就是这道题目是最后取完的输,而巴什博弈是最后取完的获胜,这个可有很大的区别,比如说给定n,n%(p+q)=p+1,那么剩下p+1个硬币时(q>=p+1)

AC__dream的博客 290

HDU 2897 邂逅明下(巴什博弈变形)

                                     HDU 2897 邂逅明下 当日遇到月,于是有了明。当我遇到了你,便成了侣。  那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)  小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下...

这可是一个难过的暑假哇,别白过 691

【hdu 2897】邂逅明下

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4232 Accepted Submission(s): 1959 Problem Description 当日遇到月,于是有了明。当我遇到了你,便成...

AWCXV 164

HDU 2897 邂逅明下(巴什博弈)

当日遇到月,于是有了明。当我遇到了你,便成了侣。 那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话) 小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?站着...

weixin_44606952的博客 195
上一篇: 博弈论入门 Good Luck in CET-4 Everybody! HDU - 1847
下一篇: 博弈论基础 Nim博弈 取(m堆)石子游戏 HDU - 2176
viewsetting
博客等级 码龄10年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值