您的位置:首页 > 其它

hdu 1517 A Multiplication Game (博弈——找规律)

2017-10-23 14:01 537 查看

A Multiplication Game

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.

Input

Each line of input contains one integer number n.

Output

For each line of input output one line either

Stan wins.

or

Ollie wins.

assuming that both of them play perfectly.

Sample Input

162

17

34012226

Sample Output

Stan wins.

Ollie wins.

Stan wins.

思路:大数据,所以直接手推小数据找规律

1~9 先手必胜

10~18 后手必胜

19~162 先手必胜

163~324 后手必胜

….

因此,当n>18时,n不断地除以18,最后如果n<=9则先手必胜,否则后手必胜

注意:除要用double

代码:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: