凡是一个具有领导力的孩子。现实生活中他特别喜欢玩一个叫做 UNO 的纸牌游戏,他也总是带着其他小朋友一起玩,然后战胜他们。慢慢地,他厌倦了胜利,于是准备发明一种新的双人纸牌游戏。

初始时,每个人手中都有若干张牌(也可能没有),然后由凡开始轮流出牌,当轮到自己出牌的时候,可以选择:

  1. 出一张牌使得待定分数加 111。
  2. 不出牌,对方的得分加上现在的待定分数,然后待定分数变为 000。

无论选择什么,接下来都轮到对手出牌。

为了能让这个游戏进行下去,假如现在的待定分数为 000,当前出牌的人就不能选择不出牌,除非他没有手牌了。

当然作为一个竞技类纸牌游戏,你的得分减去对手的得分自然越高越好。

凡依旧在不断的赢啊赢,直到一个带着面具的邻家男孩出现,成为了他旗鼓相当的对手,慢慢地,凡觉得自己玩不过那个男孩了,因为他总是会使用最优策略……于是他来向你求助,希望你也能帮他使用最优策略!

输入格式

第一行一个正整数 TTT,代表凡向你求助的次数。

接下来 TTT 行,每行两个非负整数 A,BA,BA,B。AAA 代表凡的手牌数量,BBB 代表邻家男孩的手牌数量。

输出格式

对于每次求助,输出每行一个整数,表示在双方都使用最优策略情况下,凡的得分减去邻家男孩得分的值。

数据范围与约定

样例解释

凡先打出一张牌,对方不出牌,手牌数为 3,1,得分为 1,0。

凡再打出一张牌,对方不出牌,手牌数为 2,1,得分为 2,0。

凡接着打出一张牌,对方不出牌,手牌数为 1,1,得分为 3,0。

凡只能再打出一张牌,对方出牌,手牌数为 0,0,得分为 3,2。

可以证明双方都没有更好的策略

样例输入

1
4 1

样例输出

1博弈因为两边都按最优行动,所以在牌少时,必定不会出牌,因为出牌只会使待定数增加,最后被对方收走,等到对方消耗下来再出击还有一个规则:当待定数=0时,必出牌,可以理解为一个人不出,那么下一次必出所以,在有人没牌时A-B,否则A-B-2举个例子A=5,B=3,打出的牌计为2,未打出为1  111 ------\  111 11111 ------/00111解释:因为待定数为0必取,所以B在遵循最优策略时,前A-B的部分会让给A,A:2接下来  11100011  形成了B多A少情况,A:3 B:0  01100011B拿1分,A:3 B:1  00100011A:3 B:2   0100001A:4 B:2最后一步很关键,无论如何B都拿2分A<B时也差不多

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int T,a,b,i;
 5 int main()
 6 {
 7    cin>>T;
 8     for (i=1;i<=T;i++)
 9     {
10         scanf("%d%d",&a,&b);
11         if (a==0||b==0) printf("%d\n",a-b);
12         else printf("%d\n",a-b-2);
13     }
14 }

转载于:https://www.cnblogs.com/Y-E-T-I/p/7444441.html

计蒜客NOIP模拟赛(2) D1T1邻家男孩相关推荐

  1. 计蒜客NOIP模拟赛4 D2T1 鬼脚图

    鬼脚图,又称画鬼脚,在日本称作阿弥陀签,是一种经典游戏,也是一种简易的决策方法,常常用来抽签或决定分配组合. 下图就是一张鬼脚图,其包含若干条竖线和若干条横线.请注意,横线只能水平连接相邻的两条竖线, ...

  2. 计蒜客NOIP模拟赛(2) D2T2紫色百合

    [问题描述] "牵着你的手的是她,路边开满了紫色的百合花--" 你从梦中醒来,却依然忘不了梦中的她百合花,每朵百合花都有一个权值,在二进制下写成一行'1',第i朵紫色百合的权值在二 ...

  3. 计蒜客NOIP模拟赛4 D2T2 跑步爱天天

    YOUSIKI 在 noip2016 的一道<天天爱跑步>的题爆零后,潜心研究树上问题,成为了一代大师,于是皮皮妖为了测验他,出了一道题,名曰<跑步爱天天>. 有一个以 1 为 ...

  4. 计蒜客NOIP模拟赛 数三角形

    数三角形 题目描述 刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张 ...

  5. 【计蒜客2017NOIP模拟赛1】

    D1T1 题面 题解:一开始以为傻题,旋转个坐标系就行了,结果光荣爆零~ 结果发现旋转坐标系后,由于多了一些虚点,锤子砸到虚点上了~gg [没有代码] D1T2 题面 题解:计算出每个边对答案的贡献即 ...

  6. 计蒜客NOIP模拟D1T2

    原题: 蒜头君有一棵有根树,树的每一边都有边权,蒜头君想知道任意两点间最短距离之和为多少.另外,由于各种原因,蒜头君的树的边的边权会发生若干次改变,蒜头君想让你告诉他,每一次改变后,任意两点间最短距离 ...

  7. 【计蒜客信息学模拟赛1月月赛 - B】蒜头套圈圈(贪心,前缀最大值)

    题干: 蒜头去嘉年华玩儿套圈圈,是这么玩儿的.有一些瓶口口径不同的啤酒瓶,瓶子里面有一些奖品.如果蒜头用手上的圈圈套中了啤酒瓶,那么奖品就归他了. 假设蒜头君无限精准,指哪儿打哪儿,并且蒜头了解到,只 ...

  8. 【计蒜客信息学模拟赛1月月赛 - D】Wish(dp计数,数位)

    题干: 如果一个数大于等于 10且任意连续两位都是质数,那么就称之为 Wish 数.当然,第一个 Wish 数是 11. 比如 97,111,131,119 都是 Wish 数,而 12,136 则不 ...

  9. 计蒜客一月入门赛:《三个火枪手》题解

    题目链接(https://nanti.jisuanke.com/t/52314) 有 n 个人,其中有 m 对相互认识的关系. 一个人的知名度定义为 有多少人 和他相互认识. 现在蒜头君需要从这 n ...

最新文章

  1. 什么是PRD、MRD与BRD?
  2. 《软件工程方法与实践》—— 3.4 面向对象模型
  3. Intel® Media Server Studio Support
  4. 关于“IE下无法查看此样式表,因为它的源页面不在同一个域中”的问题
  5. 常用python模块
  6. python numpy中ndarray.reshape函数参数-1是什么意思?(模糊控制、自动推理)
  7. java中有hash集合_Java(1.8)集合类中的HashMap
  8. 案例 | 新零售如何精细化运营?百联全渠道经验谈
  9. 减少C++编译时间的方法
  10. PYQT4 Python GUI 编写与 打包.exe程序
  11. XSS-Game level 6
  12. 呉服屋 2011/03/24早会文章
  13. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
  14. java课程设计---彩票销售管理系统
  15. Oracle导入元数据,eova oracle 导入元数据报错
  16. 环评师考各个科目有哪些备考的好方法?
  17. 聊聊深度学习这档子事(3):寻找万能的通用模型
  18. python grpc报错Received message larger than max
  19. 坚果Pro和罗永浩的锤子梦
  20. python花猫_涨见识了,在终端执行 Python 代码的 6 种方式!

热门文章

  1. oracle IO性能测试 -- calibrate_io
  2. 大数据系列之:安装pulsar详细步骤
  3. 云客Drupal源码分析之表单进阶
  4. 6.块参照(BlockReference)
  5. 《中式英语之鉴》笔记总结
  6. Java基础记忆12(八皇后算法和五子棋玩法)
  7. postgresql数据库迁移timescale插件问题处理
  8. CDC:跨时钟域处理
  9. php 经纬度坐标转换 WGS84、火星坐标 (GCJ-02)、百度坐标 (BD-09)
  10. VGA、DVI和HDMI三种主机与显示器连接的线缆