hdoj 1517 A Multiplication Game(博弈问题(关键在寻找必胜点))
2014-11-22 20:33
288 查看
A Multiplication Game
http://acm.hdu.edu.cn/showproblem.php?pid=1517Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3846 Accepted Submission(s): 2187
[align=left]Problem Description[/align]
Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always starts with p = 1, does his multiplication, then Ollie multiplies the number, then Stan
and so on. Before a game starts, they draw an integer 1 < n < 4294967295 and the winner is who first reaches p >= n.
[align=left]Input[/align]
Each line of input contains one integer number n.
[align=left]Output[/align]
For each line of input output one line either
Stan wins.
or
Ollie wins.
assuming that both of them play perfectly.
[align=left]Sample Input[/align]
162
17
34012226
[align=left]Sample Output[/align]
Stan wins.
Ollie wins.
Stan wins.
[align=left]Source[/align]
University of Waterloo Local Contest 2001.09.22
[align=left]Recommend[/align]
LL | We have carefully selected several similar problems for you: 1404 1079 1536 1850 1524
①、如果输入是2~9,因为Stan是先手,所以Stan必胜。
②、如果输入是10~18(9*2),因为Ollie是后手,不管第一次Stan乘的是多少,Stan肯定在2~9之间,所以Ollie必胜。
③、如果输入的是19~162(9*2*9),因为Stan是先手最大取9,再次Olie 取最多也是9 ,剩余小于9的一个数,刚好Stan必胜
④、如果输入是163~324(2*9*2*9),同理,这个是Ollie的必胜范围。
…………
可以发现必胜态是对称的。
因此我们只需判断将一个数不断除以18(9*2)之后小于或等于9,那么此时Stan刚好可以到达必胜点,否则就是Olie必胜
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
int main()
{
double n;
while(~scanf("%lf",&n))
{
while(n>18)
n/=18;
if(n<=9)
printf("Stan
wins.\n");
else
printf("Ollie
wins.\n");
}
return 0;
}
相关文章推荐
- hdoj 1564 Play a game(博弈问题(寻找必胜点))
- hdoj problem 1525 Euclid's Game (博弈问题(寻找关键点))
- 寻找必败态:博弈问题的快速解法
- HDOJ 1058:Humble Numbers 寻找丑数问题 解题报告
- 寻找必败态——一类博弈问题的快速解法
- 寻找丑数问题 HDOJ 1058 Humble Numbers
- HDOJ1517[K(2~9)倍博弈][有规律存在]
- 由K倍动态减法联想到的一类博弈问题 HDOJ 2580
- hdoj 1262 寻找素数对(数学问题)
- 寻找问题关键 激发团队活力
- 寻找必败态——一类博弈问题的快速解法
- HDOJ 1517 博弈的理解
- 博弈问题 hdu 1517 与 poj 2505
- 寻找必败态——一类博弈问题的快速解法
- 博弈问题(威佐夫博奕问题)之hdoj 取石子游戏 problem1527
- 寻找必败态——一类博弈问题的快速解法
- 寻找必败态——一类博弈问题的快速解法
- 寻找必败态:博弈问题的快速解法
- 寻找丑数问题 HDOJ 1058 Humble Numbers
- 寻找必败态——一类博弈问题的快速解法