邂逅明下

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2592 Accepted Submission(s): 1205





Problem 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

这题目和正常得巴什博奕不太一样,可是事实上本质也没有区别非常多。

我们这样考虑。

当n%(p+q)==0,那么先手必胜。策略是 先手取q个,之后每一轮后手取i个。先手则取p+q-i个,一轮拿走p+q个,那么而最后一轮肯定是后手取p个。

当n%(p+q)=k<=p,那么先手取i,后手取p+q-i,所以最后一轮必定是先手取k个。

当n%(p+q)=k>p&&n%(p+q)=k<=q时。那么先手取p个。此时变成上一种情况,而先后手交换。所以先手必胜。

/***********************************************************
> OS : Linux 3.13.0-24-generic (Mint-17)
> Author : yaolong
> Mail : dengyaolong@yeah.net
> Time : 2014年10月25日 星期六 12时46分14秒
**********************************************************/
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std; int main()
{
int n, p, q;
while ( scanf ( "%d%d%d", &n, &p, &q ) != EOF )
{
int t = n % ( p + q );
if ( t == 0 )
{
cout << "WIN" << endl;
}
else if ( t <= p )
{
cout << "LOST" << endl;
}
else
{
cout << "WIN" << endl;
}
}
}

z

HDU2897( 巴什博奕变形)的更多相关文章

  1. HDU 2897 邂逅明下(巴什博奕变形)

    巴什博奕的变形,与以往巴什博奕不同的是,这里给出了上界和下界,原先是(1,m),现在是(p,q),但是原理还是一样的,解释如下: 假设先取者为A,后取者为B,初始状态下有石子n个,除最后一次外其他每次 ...

  2. Hdu 1517 巴什博奕变形

    易知2-9为先手胜 继续递推下去 10-18 后手胜 再推发现19-162先手胜 即发现有9(9) 18(2*9) 162(9*2*9)..... #include<bits/stdc++.h& ...

  3. hdu2897 巴什博奕

    n%(q+p)==0,也就是说先手必胜; n%(q+p)<=p,先手必输; n%(q+p)==k if(k>p&&k<=q)先手必胜; if(k>p&& ...

  4. NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结

    NIM游戏,NIM游戏变形,威佐夫博弈以及巴什博奕总结 经典NIM游戏: 一共有N堆石子,编号1..n,第i堆中有个a[i]个石子. 每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子 ...

  5. codeforces gym 100694 M The Fifth Season (巴什博奕)

    题目链接 一直觉得巴什博奕是最简单的博弈遇到肯定没问题,结果被虐惨了,看完标程错了10多遍都没反应过来,当然标程题解和代码的意思也写反了,但是还是想对自己说一句mdzz,傻啊!!!这道题很不错,我觉得 ...

  6. HDU 2188 悼念512汶川大地震遇难同胞――选拔志愿者(巴什博奕)

    选拔志愿者 题意: 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理学专家.根据要求,我 ...

  7. HDU 1851 (巴什博奕 SG定理) A Simple Game

    这是由n个巴什博奕的游戏合成的组合游戏. 对于一个有m个石子,每次至多取l个的巴什博奕,这个状态的SG函数值为m % (l + 1). 然后根据SG定理,合成游戏的SG函数就是各个子游戏SG函数值的异 ...

  8. HDU 2149-Public Sale(巴什博奕)

    Public Sale Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  ...

  9. (step8.2.4)hdu 1846(Brave Game——巴什博奕)

    题目大意:输入一个整数t,表示测试用例是.接着输入2个整数n,m.分别表示这堆石头中石头的个数,和每次所能取得最大的石头数.判断那一方为赢家 解题思路: 1)这是一道简单的巴什博弈: 所谓巴什博弈,是 ...

随机推荐

  1. perl学习之:字符串函数

    一.打开.关闭文件 open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:    if (open(MYFILE, "myfile" ...

  2. perl学习之FLOCK函数的调用(讲的非常好)

    一段演示flock系统调用的perl程序http://www.extmail.org/forum/viewthread.php?tid=1066

  3. XML,面向对象基础

    什么是XML XML与JSON的对比 XML文档格式 使用XML模块解析 一,什么是XML ''' XML 全称可扩展标记语言 <tag></tag> 双标签 <tag/ ...

  4. python中魔法方法(持续更新)

    1.对于一个自定义的类,如果实现了 __call__ 方法,那么该类的实例对象的行为就是一个函数,是一个可以被调用(callable)的对象.例如: class Add: def __init__(s ...

  5. MySQL学习点滴

    MySQL学习点滴 --分区表 概述: 分区功能并不是在存储引擎层完成的,因此很多存储引擎包括InnoDB, MyISAM, NDB等都支持分区功能.但也并不是所有的存储引擎都支持分区.在使用分区前, ...

  6. 数据结构( Pyhon 语言描述 ) — —第11章:集和字典

    使用集 集是没有特定顺序的项的一个集合,集中的项中唯一的 集上可以执行的操作 返回集中项的数目 测试集是否为空 向集中添加一项 从集中删除一项 测试给定的项是否在集中 获取两个集的并集 获取两个集的交 ...

  7. HashMap图解

    HashMap的数据结构和put.get.resize等操作的图解,看图轻松掌握HashMap (目前还不包括红黑树相关的部分) HashMap数据结构如下图 HashMap之put操作如下图 Has ...

  8. JavaScript正则表达式-后缀选项(标记)

    i:表示匹配时不区分大小写 Str = "JavaScript is different from java"; reg = /java\w*/i; arr_m = str.mat ...

  9. 利用Vert.x构建简单的API 服务、分布式服务

    目前已经使用Vertx已经一年多了,虽然没有太多的造诣,但也已在项目中推广了下:从最初的vertx搭建web服务,到项目上线运营,还算比较稳定.再到后来尝试搭建基于vertx的分布式服务,一路下来也积 ...

  10. pymongo使用方法

    MongoDB存储     在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python     的PyMong ...