POJ2505 A multiplication game(博弈)

Posted zwfymqz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ2505 A multiplication game(博弈)相关的知识,希望对你有一定的参考价值。

题意

开始时$p = 1$,每次可以乘$2 - 9$,第一个使得$p geqslant n$的人赢

问先手是否必胜

$1 <n <4294967295$

Sol

认真的推理一波。

若当前的数为$frac{n}{9} leqslant x leqslant n$,则先手必胜

若当前的数为$frac{n}{18} leqslant x leqslant frac{n}{9}$,则先手必败

若当前的数为$frac{n}{18 * 9} leqslant x leqslant frac{n}{18}$,则先手必胜

$dots dots dots dots dots dots dots dots dotsdotsdots dots $

然后就显然了,每次除$18$,最后判一下就行了。

然而不知道为啥用double才能过qwq。。。

#include<cstdio>
#define LL long long 
using namespace std;
int main() {
    double n;
    while(scanf("%lf", &n) != EOF) {
        while(n > 18) n = n / 18;
        if(n <= 9) puts("Stan wins.");
        else puts("Ollie wins.");        
    }
    return 0;
}

 

以上是关于POJ2505 A multiplication game(博弈)的主要内容,如果未能解决你的问题,请参考以下文章

POJ 2505 A multiplication game

POJ2505 A multiplication game[博弈论]

POJ 2505 A multiplication game(找规律博弈/贪心)

POJ2505 A multiplication game(博弈)

[poj2505]A multiplication game_博弈论

「POJ2505」A multiplication game [博弈论]