不知道为什么,按自己的方法写,unsigned int 和long long都是wrong answer
此题可以归属于找规律 注意与PN图分开 当数增大时,stan开始出的数字是可以改变的
重要的数字是2 和 9
注意A可能为了对B不利而出2但是没阻止B赢(可能只有自己懂这句话)
B可能就算出9也赢不了
这两种特殊的状态之间的转变
总之,规律是
2-9 s win
10-9*2 o win
9*2+1-9*2*9 s win
9*2*9+1-9*2*9*2 o win
然后就是乘2乘9......
代码如下:
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
double n; //unsigned int n; long long n;
while(~scanf("%lf",&n)) //%u %lld 都是WA
{
while(n>18)
n/=18;
if(n<=9)
printf("Stan wins.\n");
else
printf("Ollie wins.\n");
}
return 0;
}