zoukankan      html  css  js  c++  java
  • HDU 1517 A Multiplication Game (博弈)

    A Multiplication Game

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 2674    Accepted Submission(s): 1532


    Problem Description
    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.
     
    Source
     
    Recommend
    LL
     

     题意:两人玩游戏,从1开始,轮流对数进行累乘,直到超过一个指定的数。

    ①、如果输入是29,因为Stan是先手,所以Stan必胜。

    ②、如果输入是1018(9*2),因为Ollie是后手,不管第一次Stan乘的是多少,Stan肯定在29之间,如果Stan乘以2,那么Ollie就乘以9,那么Ollie乘以大于1的数都能超过1018中的任何一个数,Ollie必胜。

    ③、如果输入的是19162(9*2*9),那么这个范围Stan必胜。

    ④、如果输入是163324(2*9*2*9),这个是Ollie的必胜范围。

    …………

    可以发现必胜态是对称的。

    如果“我方”首先给出了一个在N不断除18后的得到不足18的数M,“我方”就可以胜利,然而双方都很聪明,所以这样胜负就决定与N了,如果N不断除18后的得到不足18的数M,如果1<M<=9则先手胜利,即Stan wins.如果9<M<=18则后手胜利。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    
    using namespace std;
    
    int main(){
    
        //freopen("input.txt","r",stdin);
    
        double n;       //用long long 就不能AC了,求解。。。。。。。。
        while(cin>>n){
            while(n>18)
                n/=18;
            if(n<=9)
                printf("Stan wins.
    ");
            else
                printf("Ollie wins.
    ");
        }
        return 0;
    }
  • 相关阅读:
    屏幕截图(带光标)
    warning LNK4070的解决办法
    2015-08-10
    wmic的用法
    2015-03-12
    MFC Button控件自绘
    MFC窗口创建、销毁消息流程
    DDX_Control、SubclassWindow和SubclassDlgItem
    css animation fade in
    kohana reading session data error(session_start)引起的错误
  • 原文地址:https://www.cnblogs.com/jackge/p/3145831.html
Copyright © 2011-2022 走看看