poj2505-A multplication game
题意:两个人轮流用2~9来乘n,使n不断扩大,n开始为1。当给一个固定值k,谁先使n超过k谁赢。
分析:能到达必败态的状态为必胜态,只能到达必胜态的状态为必败态。对于给定的k,n>=k时为必败态,所有能到达这些必败态的n为必胜态,这些必胜态中最小的是ceil(k/9.0)。凡是大于它的都可以直接到达必败态。然而有些状态只能到达必胜态,就是那些乘二都要进入必胜态的数字,这些数中最小的是ceil(ceil(k/9.0)/2.0)。这样我们又得到了一批必败态,我们只要按照这种方法不断地由必败推必胜,由必胜推必败,即可知道1是必败还是必胜。也就知道了stan是赢还是输了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<algorithm>
int n;
int main(){
while (~scanf("%I64d",&n)){
while (){
n=ceil(n/9.0);
if (n==) {printf("Stan wins.\n");break;}
n=ceil(n/2.0);
if (n==) {printf("Ollie wins.\n");break;}
}
}
}
poj2505-A multplication game的更多相关文章
- [POJ1082&POJ2348&POJ1067&POJ2505&POJ1960]简单博弈题总结
		
鉴于时间紧张...虽然知道博弈是个大课题但是花一个上午时间已经极限了... 希望省选过后再回过头来好好总结一遍吧. 接下来为了看着顺眼一点...还是按照难度顺序吧 POJ1082 一道最简单的博弈 ...
 - [poj2505]A multiplication game_博弈论
		
A mutiplication game poj-2505 题目大意:给定一个数n和p,两个选手每次可以将p乘上[2,9].最先使得p大于n的选手胜利. 注释:$1\le n\le 429496729 ...
 - POJ2505 A multiplication game[博弈论]
		
A multiplication game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6028 Accepted: ...
 - 「POJ2505」A multiplication game [博弈论]
		
题目链接:http://poj.org/problem?id=2505 题目大意: 两个人轮流玩游戏,Stan先手,数字 p从1开始,Stan乘以一个2-9的数,然后Ollie再乘以一个2-9的数,直 ...
 - POJ2505 A multiplication game(博弈)
		
题意 开始时$p = 1$,每次可以乘$2 - 9$,第一个使得$p \geqslant n$的人赢 问先手是否必胜 $1 <n <4294967295$ Sol 认真的推理一波. 若当前 ...
 - POJ2505 A multiplication game 博弈论 找规律
		
http://poj.org/problem?id=2505 感觉博弈论只有找规律的印象已经在我心中埋下了种子... 题目大意:两个人轮流玩游戏,Stan先手,数字 p从1开始,Stan乘以一个2-9 ...
 - [poj2505]A multiplication game
		
首先有SG(k)=mex(SG(k/2),SG(k/3)--SG(k/9)),SG(0)=0,通过打表可以发现当$n\in[1,1]\cup [10,18]\cup [163,324]--$,规律大概 ...
 - Java Script 编码规范【转】
		
Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...
 - QM4_Probability
		
Basic Concepts Probability concepts Terms Random variable A quantity whose possible values are uncer ...
 
随机推荐
- CentOS6.5切换 语言(附带6.5官方下载地址)
			
1 在终端中输入命令[sudo vim /etc/sysconfig/i18n]来编辑i18n文件, 2 把“zh_CN.UTF-8”修改为“en_US.UTF-8”, 3 保存修改并退出,如果提示这 ...
 - perl 登录某网站
			
<pre name="code" class="html">use Net::SMTP; use LWP::UserAgent; use HTTP: ...
 - Windows下MySQL双向同步及环形同步的实现
			
记录一下这次做的双向同步及环形同步吧,都是最简单的实现: 具体实现之前,先说些与之有关的内容吧,大部分内容都是网上的,操作步骤则是亲自测试之后记录下的: 一. 数据同步的几种方式: 1. 触发器,在数 ...
 - NOI2012 骑行川藏
			
http://www.lydsy.com/JudgeOnline/problem.php?id=2876 表示完全不会...... 还是跪拜大神吧 http://www.cnblogs.com/Ger ...
 - eclipse中使用loadrunner java api步骤
			
1.使用Eclipse新建一个Java工程,名字任意 2.将"%LoadRunner_Home%\classes\lrapi"目录拷贝到工程中 3.将工程导出为Jar包,譬如:命名 ...
 - C++简介
			
本文仅用于学习交流,转载请注明:http://www.cnblogs.com/mxbs/p/6266466.html Hello,C++ World! 简介: C++融合了3中不同的编程传统:C语言 ...
 - http接口测试浏览器插件
			
http接口测试浏览器插件: Chrome: https://chrome.google.com/webstore/detail/chrome-poster/cdjfedloinmbppobahmon ...
 - 通过BulkLoad的方式快速导入海量数据
			
摘要 加载数据到HBase的方式有多种,通过HBase API导入或命令行导入或使用第三方(如sqoop)来导入或使用MR来批量导入(耗费磁盘I/O,容易在导入的过程使节点宕机),但是这些方式不是慢就 ...
 - [置顶] IOS7状态栏StatusBar官方标准适配方法
			
IOS7状态栏StatusBar官方标准适配方法 hello,大家好,ios7正式版已经发布,相信大家都在以各种方式来适配ios7. 如果你已经下载了xcode5,正准备使用,你会发现各种布局的改变. ...
 - js中的referrer使用,返回上一页
			
js完整代码: <script language="javascript"> var refer=document. referrer ; document.g ...