hdu 1517 Multiplication Game
2024-08-31 01:40:25
题意:
用整数p乘以2到9中的一个数字。斯坦总是从p = 1开始,做乘法,然后奥利乘以这个数,然后斯坦,以此类推。游戏开始前,他们画一个整数1 < n < 4294967295,谁先到达p >= n,谁就是赢家。
题解:
看这一道题就会联想起来巴什博弈,但是巴什博弈是不停的从一堆石子里面往外边拿;这个是不停的累乘,我们可以采用巴士博弈类似的思想来做,
我们可以找如果谁面对9*2的次方,那么谁就会输。
因此,当n>18时,n不断地除以18,最后如果n<=9则先手必胜,否则后手必胜
代码:
1 #include<stdio.h>
2 #include<math.h>
3 #include<string.h>
4 #include<algorithm>
5 using namespace std;
6
7 int main()
8 {
9 double n;
10 while(~scanf("%lf",&n))
11 {
12 while(n>18)
13 n/=18;
14 if(n<=9)
15 printf("Stan wins.\n");
16 else
17 printf("Ollie wins.\n");
18 }
19 return 0;
20 }
最新文章
- 关于AJAX 的交互模型、交互流程及代码示范
- 《Linux内核设计与实现》读书笔记(十四)- 块I/O层
- 提高c++性能的编程技术笔记
- 第11章 使用Vsftpd服务传输文件
- 一个ListBox的例子
- 使用HTML5中的element.dataset操作自定义data-*数据
- sql 调用函数的方法
- POJ1258-Agri-Net-ACM
- Oracle操作数据库oracleHelper
- Windows 10下Markdown不能显示预览
- 【项目管理】 项目管理术语总结 (PMP培训笔记)
- day19模块1
- 标签EL和JSTL解读
- python 图片相似度
- UIWebView使用app内自定义字体
- 利用phpcms后台漏洞渗透某色情网站
- 使用block的时候,导致的内存泄漏
- 基于Openresty+的WEB安全防护系统架构--转
- 最全的javascriptt选择题整理
- bzoj 3674 可持久化并查集加强版——可持久化并查集