题意:A和B两人在1~N中选数字。已知1<=X<=N,谁先选中X谁就输。每当一个人选出一个不是X的数,裁判都会说明这个数比X大还是小,与此同时,可选范围随之缩小。已知A先选,求满足能让B赢的条件下X的个数。

分析:看了别人的博客,比喻成切棍子真的很形象,每次可选范围缩小,恰恰相当于切掉棍子中可选的一截。

1、有一根棍子,中间某处是X,每个人可以依次从两端切去一部分,先切到X的人输。

2、若X在棍子的正中央,那么A必输,因为A无论怎么切都会先打破X两端的平衡,B切成平衡即可。

3、只有N为奇数时,X才会在棍子正中央,且只有这一个位置,因此,个数为1。

4、当N为偶数时,无论X多么靠近中央,A只需要首先把X两端切成平衡,那么打破平衡的一定是B,A只需要随之恢复平衡即可,所以B必输,没有满足让B赢的X,因此,个数为0。

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<cctype>
  5. #include<cmath>
  6. #include<iostream>
  7. #include<sstream>
  8. #include<iterator>
  9. #include<algorithm>
  10. #include<string>
  11. #include<vector>
  12. #include<set>
  13. #include<map>
  14. #include<stack>
  15. #include<deque>
  16. #include<queue>
  17. #include<list>
  18. #define Min(a, b) ((a < b) ? a : b)
  19. #define Max(a, b) ((a < b) ? b : a)
  20. typedef long long ll;
  21. typedef unsigned long long llu;
  22. const int INT_INF = 0x3f3f3f3f;
  23. const int INT_M_INF = 0x7f7f7f7f;
  24. const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
  25. const ll LL_M_INF = 0x7f7f7f7f7f7f7f7f;
  26. const int dr[] = {0, 0, -1, 1, -1, -1, 1, 1};
  27. const int dc[] = {-1, 1, 0, 0, -1, 1, -1, 1};
  28. const int MOD = 1e9 + 7;
  29. const double pi = acos(-1.0);
  30. const double eps = 1e-8;
  31. const int MAXN = 100 + 10;
  32. const int MAXT = 10000 + 10;
  33. using namespace std;
  34. int main(){
  35. int T;
  36. scanf("%d", &T);
  37. while(T--){
  38. int N;
  39. scanf("%d", &N);
  40. printf("%d\n", N & 1);
  41. }
  42. return 0;
  43. }

  

HDU - 5591 ZYB's Game(博弈)的更多相关文章

  1. hdu 5591 ZYB's Game 博弈论

    ZYB's Game Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=55 ...

  2. hdu 5591 ZYB's Game

    Problem Description ZYB played a game named NumberBomb with his classmates ,N] in mind,then players ...

  3. HDU 1524 树上无环博弈 暴力SG

    一个拓扑结构的图,给定n个棋的位置,每次可以沿边走,不能操作者输. 已经给出了拓扑图了,对于每个棋子找一遍SG最后SG和就行了. /** @Date : 2017-10-13 20:08:45 * @ ...

  4. 取石子游戏 HDU 1527 博弈论 威佐夫博弈

    取石子游戏 HDU 1527 博弈论 威佐夫博弈 题意 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两 ...

  5. hdu 5591 BestCoder Round #65(博弈)

    题意: 问题描述 ZYBZYB在远足中,和同学们玩了一个“数字炸弹”游戏:由主持人心里想一个在[1,N][1,N]中的数字XX,然后玩家们轮流猜一个数字,如果一个玩家恰好猜中XX则算负,否则主持人将告 ...

  6. hdu 5594 ZYB's Prime 最大流

    ZYB's Prime Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5 ...

  7. hdu 5592 ZYB's Game 树状数组

    ZYB's Game Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=55 ...

  8. HDU 5590 ZYB's Biology 水题

    ZYB's Biology Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid ...

  9. hdu 5268 ZYB loves Score 水题

    ZYB loves Score Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...

随机推荐

  1. 「USACO09FEB」改造路Revamping Trails

    传送门 Luogu 解题思路 有点像这题,但是现在这道不能跑k遍SPFA了,会TLE. 那么我们就跑分层图最短路,然后就变成模板题了. 细节注意事项 别跑SPFA就好了. 参考代码 #include ...

  2. Golang编程的工程管理

    Golang编程的工程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. 用 Weave Scope 监控集群【转】

    创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团 ...

  4. shell教程——bash入门

    创建shell文件 vim test.sh 写内容 #!/bin/bash echo "Hello World !" 使脚本具有执行权限 chmod +x ./test.sh 执行 ...

  5. Linux-initramfs

    1. 内核启动问题2. 解决方案2.1 ramdisk(比如initrd)2.2 tmpfs(比如initramfs)2.3 ramdisk vs ramfs2.4 临时文件系统2.4.1 观察tmp ...

  6. 017.Oracle数据库,取今年第一天,取今年最后一天

    /*取今年第一天,取今年最后一天*/ SELECT trunc(sysdate, 'yyyy') AS 今年第一天 , add_months(trunc(sysdate, ) AS 今年最后一天 FR ...

  7. 修正png

    这是修正+取MD5的方法 function MD5FileTextPng(filename: AnsiString): AnsiString; var buf: ..MAX_PATH - ] of C ...

  8. delphi保存和提取ini文件信息

    procedure TLoginForm.FormShow(Sender: TObject);var ini:TIniFile; name:string;begin //实现动态提取数据库的登录用户名 ...

  9. windows搭建安装react-native环境

    在win10环境下,利用Genymotion模拟器,配置react-native的环境. 一.安装JDK 在网上下载jdk,版本最好是1.8以上.安装后要对环境变量进行配置. 同时在 Path 中配置 ...

  10. Java 文件

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...