如果n在[2, 9]区间,那么Stan胜。

如果n在[10, 18]区间,那么Ollie胜,因为不管第一次Stan乘上多少,第二次Ollie乘上一个9,必然会得到一个不小于18的数。

如果n在[19, 162]这个区间呢?

比如说n=19,那么Stan乘上个2,不管Ollie怎么乘,Ollie得到的数必然在[4, 18]这个区间里面,而这里的任意一个数乘上9的话,必然会得到一个不小于19的数,Stan胜。

再比如n=162,Stan最开始乘上一个9,就将Ollie乘完以后的数限制在[18, 81]这个区间里边,而这里的任何一个数乘上9,必然会得到一个不小于162的数,Stan胜。

所以[19, 162]是Stan的必胜区间。

为了更方便理解,再举两个例子:

n=163的时候,不管第一步Stan乘的是多少,Ollie总可以将第二次得到的数限制在[10, 18]这个范围内,那么Stan乘完以后的数在[20, 162]这个范围,最后Ollie乘上个9就赢了。

n=324的时候,Ollie总可以将第二次得到的数限制在[18, 35],这样Stan操作完得到的数就在[36, 315],最后Ollie乘上个9就赢了。

说了这么多就是说,我们每次要想办法限制对手下一次操作以后的区间,使得区间左边界不能太小,否则下一步自己就不能到达终止状态;右边界也不能太大,否则对手会到达终止状态。

总结一下规律就是[2, 9]是先手必胜,[10, 18]后手必胜,[19, 162]先手必胜,[163, 324]后手必胜。

 #include <cstdio>

 int main()
{
double n;
while(scanf("%lf", &n) == )
{
while(n > ) n /= ;
printf("%s\n", n > ? "Ollie wins." : "Stan wins.");
} return ;
}

代码君

HDU 1517 (类巴什博奕) A Multiplication Game的更多相关文章

  1. 悼念512汶川大地震遇难同胞——选拔志愿者 HDU 2188 博弈论 巴什博奕

    悼念512汶川大地震遇难同胞--选拔志愿者 HDU 2188 博弈论 巴什博奕 题意 对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队 ...

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

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

  3. hdu 2149 (巴什博奕)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2149 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的 ...

  4. HDU 4764 Stone(巴什博奕)

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

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

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

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

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

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

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

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

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

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

    最最最基础巴什博奕 #include<stdio.h> #include<iostream> #include<cstring> #include<cmath ...

随机推荐

  1. 10个jQuery插件分享

    原文:http://www.shejidaren.com/10-jquery-plugins.html blur.js blur.js是一个很有意思的插件,它能实现像WIN7 AERO效果的JS插件, ...

  2. Libevent详细说明

    文章来自官方文档的部分翻译:http://www.wangafu.net/~nickm/libevent-book/ 通过这部分的了解,基本上可以使用libevent的常用功能了.有时间建议直接看官方 ...

  3. iOS多线程的初步研究(七)-- dispatch对象

    谈起iOS的dispatch(正式称谓是Grand Central Dispatch或GCD),不得不说这又是iOS(包括MacOSX)平台的创新,优缺点这里不讨论,只有当你使用时才能真正体会到.我们 ...

  4. C# 给数据库传入当前时间

    DateTime time=DateTime.Now; // 存储过程中用一个 @addTime DateTime --接收DateTime 类型接收

  5. 利用PHP SOAP实现WEB SERVICE

    php有两个扩展可以实现web service,一个是NuSoap,一个是php 官方的soap扩展,由于soap是官方的,所以我们这里以soap来实现web service.由于默认是没有打开soa ...

  6. UVA 11076 Add Again 计算对答案的贡献+组合数学

    A pair of numbers has a unique LCM but a single number can be the LCM of more than one possiblepairs ...

  7. 浅说Java中的反射机制(一)

    在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...

  8. JSTL Tag学习笔记之<fn: />

    在JSTL中也提供了一些标准的函数,但是几乎都是和操作字符串相关的函数,如果需要使用这类函数的话,应该引入下面的taglib: <%@ taglib prefix="fn" ...

  9. 313. Super Ugly Number

    题目: Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose ...

  10. [vim]设置vim语法高亮显示和自动缩进

    1.配置文件的位置        在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效.而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为 ...