传送门
【题目分析】
经典博弈问题。
首先n的位置为必胜态,所以均为必败态,
为必胜态。。。。。以此类推,所以只用一直除一个18(不过要向上取整),最后判断,如果在1~9之间则先手胜出,否则后手胜。
【代码~】
#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
while(scanf("%lld",&n)!=EOF){
while(n>18){
n=ceil(1.0*n/18.0);
}
if(n<=9)
puts("Stan wins.");
else
puts("Ollie wins.");
}
return 0;
}