百练2505:A multiplication game

传送门:http://bailian.openjudge.cn/practice/2505/

【题解】

我们找找规律:

1~9显然是Stan wins.

10~18是Ollie wins.

19~162是Stan wins...

发现分界线是18^?

判判就行了。

# include <stdio.h>
# include <string.h>
# include <iostream>
# include <algorithm>
// # include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
const int M = 5e5 + 10;
const int mod = 1e9+7;

# define RG register
# define ST static

double n;

int main() {
    
    while (cin >> n) {
        while(n > 18) n /= 18;
        if(n <= 9) puts("Stan wins.");
        else puts("Ollie wins.");
    }

    return 0;
}



    
View Code
原文地址:https://www.cnblogs.com/galaxies/p/bailian2505.html