hdu 5591 BestCoder Round #65(博弈)
发布日期:2021-08-28 20:23:48 浏览次数:62 分类:技术文章

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

题意:

 

问题描述
ZYBZYB在远足中,和同学们玩了一个“数字炸弹”游戏:由主持人心里想一个在[1,N][1,N]中的数字XX,然后玩家们轮流猜一个数字,如果一个玩家恰好猜中XX则算负,否则主持人将告诉全场的人当前的数和XX比是偏大还是偏小,然后猜测的范围就会相应减小,一开始的范围是[1,N][1,N].每个玩家只能在合法的范围中猜测.现在假设只有两个人在玩这个游戏,并且两个人都已经知道了最后的XX,若两个人都采取最优策略.求X \in [1,N]X∈[1,N]中是后手胜利的XX数量.
输入描述
第一行一个整数TT表示数据组数。接下来TT行,每行一个正整数NN.1 \leq T \leq 1000001≤T≤100000,1 \leq N \leq 100000001≤N≤10000000
输出描述
TT行每行一个整数表示答案.
输入样例
13
输出样例
1

思路:

 

可以看成捡石头的问题:

1.假设左右的长度相同,A捡多少则B也捡多少,这最后B必赢
2.若是长度不一样,则A先捡一部分使左右一样,则A必赢

所以只有当n为奇数且x在中间时才可能赢

#include 
#include
#include
using namespace std;typedef long long ll;#define N 100050int main(){ int T; scanf("%d",&T); while(T--) { int x; scanf("%d",&x); if(x % 2) { printf("1\n"); } else printf("0\n"); }}

  

 

转载于:https://www.cnblogs.com/Przz/p/5409669.html

转载地址:https://blog.csdn.net/weixin_33970449/article/details/94445939 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:第四十三篇、利用NSProxy解决NSTimer内存泄漏问题
下一篇:2016年1月25日 《1024伐木累》-小白篇之开发网站,三天!(中篇-2奇怪的IE)-总章节十一...

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月08日 12时55分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章