HDOJ 题目A Multiplication Game(博弈,k(2~9)倍博弈)
2014-08-09 10:49
316 查看
A Multiplication Game
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3706 Accepted Submission(s): 2106
[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 1524 1729
思路:(转自http://qianmacao.blog.163.com/blog/static/203397180201223174133470/)
①、如果输入是2~9,因为Stan是先手,所以Stan必胜。
②、如果输入是10~18(9*2),因为Ollie是后手,不管第一次Stan乘的是多少,Stan肯定在2~9之间,如果Stan乘以2,那么Ollie就乘以9,那么Ollie乘以大于1的数都能超过10~18中的任何一个数,Ollie必胜。
③、如果输入的是19~162(9*2*9),那么这个范围Stan必胜。
④、如果输入是163~324(2*9*2*9),这个是Ollie的必胜范围。
…………
可以发现必胜态是对称的。
如果“我方”首先给出了一个在N不断除18后的得到不足18的数M,“我方”就可以胜利,然而双方都很聪明,所以这样胜负就决定与N了,如果N不断除18后的得到不足18的数M,如果1<M<=9则先手胜利,即Stan wins.如果9<M<=18则后手胜利。
ac代码
#include<stdio.h> int main() { double n;//要设浮点型 while(scanf("%lf",&n)!=EOF) { while(n>18) n/=18; if(n<=9) printf("Stan wins.\n"); else printf("Ollie wins.\n"); } }
相关文章推荐
- HDOJ 题目1847Good Luck in CET-4 Everybody!(博弈)
- HDOJ 题目3951Coin Game(博弈)
- HDOJ题目2516 取石子小游戏(博弈)
- HDOJ 题目1760 A New Tetris Game(DFS,博弈)
- HDOJ 题目1850Being a Good Boy in Spring Festival(博弈)
- HDOJ 题目2897邂逅明下(博弈)
- HDOJ 题目3389 Game(阶梯博弈)
- HDOJ 题目1269No Gambling(博弈)
- HDOJ 题目2149 Public Sale(巴什博弈)
- HDOJ 题目 1079 Calendar Game(博弈)
- HDOJ 题目1566&题目1544 S-Nim(sg博弈模板)
- HDOJ 题目S-Nim(sg-博弈,模板)
- HDOJ 题目2955 kiki's game(博弈)
- HDOJ 题目2076取(m堆)石子游戏(nim博弈)
- HDOJ 题目1849Rabbit and Grass(nim博弈)
- HDOJ 题目2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)
- HDOj题目1525 Euclid's Game(博弈)
- HDOJ题目1848Fibonacci again and again(sg博弈,打表模板)
- HDOJ 题目4315Climbing the Hill(阶梯博弈)
- HDOJ 题目1564 play a game(博弈)