博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZYB's Game(博弈)
阅读量:6173 次
发布时间:2019-06-21

本文共 1411 字,大约阅读时间需要 4 分钟。

ZYB's Game

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 190    Accepted Submission(s): 162

Problem 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
 题意:一个游戏,让你在一定范围内猜数X,起始范围是【1,N】随着猜,裁判会告诉你大了还是小了,范围会逐渐减小;
假设猜之前两个人都知道了这个数X,谁猜到,谁就输了,给你一个N让求有多少个X会让后者赢;
方法:要想让第二个人赢,第二个人走的最优方法是第一个人每走一个点,第二个人要走关于x对称的点,所以只有N是奇数的时候,第二个人才会赢,而赢的点就是(1+N)/2;
代码:
#include
#include
#include
int main(){ int x,T; scanf("%d",&T); while(T--){ scanf("%d",&x); if(x&1)puts("1"); else puts("0"); } return 0;}

  

 

转载地址:http://elmba.baihongyu.com/

你可能感兴趣的文章
移动app可开发的意见于分析
查看>>
周总结7
查看>>
类似OutLook布局的开源控件XPanderControls
查看>>
Web前端工程师成长之路——知识汇总
查看>>
[2018-9-4T2]探索黑暗dark
查看>>
【学术信息】中科院2019年学术期刊分区-综合性期刊
查看>>
ShareObject离线存储相关
查看>>
C++ XML
查看>>
windows批处理 打开exe后关闭cmd
查看>>
Linux 安装中文包
查看>>
谷物大脑
查看>>
访问控制-禁止php解析、user_agent,PHP相关配置
查看>>
AgileEAS.NET之系统架构
查看>>
python3.5里的正则表达式
查看>>
Exchange server 2013 SP1 客户端会议室邮箱自动回复延迟
查看>>
nginx反向代理缓存服务器构建
查看>>
RHEL6 搭建LVS/DR 负载均衡集群 案例
查看>>
以太坊·Rinkeby 测试网络
查看>>
字符串按规则排序算法
查看>>
MPLS + BGP高级特性
查看>>