zoukankan      html  css  js  c++  java
  • hdu 5591 ZYB's Game 博弈论

    ZYB's Game

    Time Limit: 20 Sec

    Memory Limit: 256 MB

    题目连接

    http://acm.hdu.edu.cn/showproblem.php?pid=5591

    Description

    ZYB played a game named NumberBomb with his classmates in hiking:a host keeps a number in [1,N] in mind,then 
    players guess a number in turns,the player who exactly guesses X loses,or the host will tell all the players that
    the number now is bigger or smaller than X.After that,the range players can guess will decrease.The range is [1,N] at first,each player should guess in the legal range.

    Now if only two players are play the game,and both of two players know the X,if two persons all use the best strategy,and the first player guesses first.You are asked to find the number of X that the second player
    will win when X is in [1,N].

    Input

    In the first line there is the number of testcases T.

    For each teatcase:

    the first line there is one number N.

    1T100000,1N10000000

    Output

    For each testcase,print the ans.

    Sample Input

    1 3

    Sample Output

    1

    HINT

    题意

     

    题解:

    我们会发现这个模型其实是类比于左右两堆石子,每次可以在一堆里取任意多,取完的人胜利.当左右两堆石子相同时,我们可以简单的

    构造后手胜利的方法:即在另一堆石子中取走同样多的石子,否则,先手可以取一些石子使得两堆石子相同.所以,当N是奇数输出1,否则输出0.

    当然也可以直接sg函数打表,打出来就可以找到规律了

    代码:

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    
    int main()
    {
        int t;scanf("%d",&t);
        for(int i=1;i<=t;i++)
        {
            int x;scanf("%d",&x);
            printf("%d
    ",x&1);
        }
    }
  • 相关阅读:
    unity-TextAsset
    unity-热更-InjectFix
    进程和线程的区别
    StringBuffer 和 StringBuilder 的区别
    List、Set、Map 三者区别
    竞态条件是什么?
    多线程安全(synchronized、三大特性、生命周期以及优缺点)
    集合的同步与非同步
    List、Set、Map的了解及区别
    java面试题
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5023324.html
Copyright © 2011-2022 走看看