Description

失败的燃烧军团想要逃回深渊,Khadgar 想要追击它们。
然而进入深渊的传送门只有一座,燃烧军团和Khadgar 各有一些法力水晶,由Khadgar 先手,双方每次可以作出如下选择:
• 使用一个法力水晶,使得传送门的法力等级增加一。
• 不用法力水晶,让对方增加等于传送门法力等级的深度,然后将传送门的法力值清零。特别地,若法力水晶数不为零且传送门法力等级为零则不能进行这样的操作。
双方都会采取最优策略使自己的最终深度与对手深度的差最大(初始时深度均为零)。
现在多次给定双方起始的法力水晶数量A, B,求Khadgar 与燃烧军团的的最终深度差。

Input

T
A1 B1
A2 B2

AT BT

Output

输出T 行T 个整数,表示Khadgar 与燃烧军团的的深度差。

Sample Input

2
0 1
4 1

Sample Output

-1
1

Data Constraint

对于30% 的数据,有T= 1; 0 <= A, B <= 10
对于另外20% 的数据,有T <= 10^5; 0 <= A, B <= 10^2
对于100% 的数据,有T <= 10^5; 0 <= A, B <= 10^5

Solution

  • 结论题。。。打表找规律即可。。。

  • 考虑题目性质,后手总是存在一种策略每次消耗先手的一枚水晶直到先手只剩一枚
    水晶然后开始使用水晶等于上述答案。

  • 否则一旦后手选择使用水晶,则相当于先后手互换,先手一定存在相似的策略,容
    易推出最后的答案一定不会更优。

  • 所以:对于 A, B 均为正整数的时候答案就是 A − B − 2,

  • 否则当 B=0B=0 就是 AA ,当 A=0A=0 时就是−B-B 。

Code

#include<cstdio>
using namespace std;
inline int read()
{int X=0,w=1; char ch=0;while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();return X*w;
}
inline void write(int x)
{if(x<0) x=-x,putchar('-');if(x>9) write(x/10);putchar(x%10+'0');
}
int main()
{int T=read();while(T--){int n=read(),m=read();if(!n) write(-m); elseif(!m) write(n); else write(n-m-2);putchar('\n');}return 0;
}

JZOJ 5407. 【NOIP2017提高A组集训10.21】Deep相关推荐

  1. JZOJ5407. 【NOIP2017提高A组集训10.21】Deep

    Description 失败的燃烧军团想要逃回深渊,Khadgar 想要追击它们. 然而进入深渊的传送门只有一座,燃烧军团和Khadgar 各有一些法力水晶,由Khadgar 先手,双方每次可以作出如 ...

  2. JZOJ 5417. 【NOIP2017提高A组集训10.24】方阵

    Description 题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 为了准备校庆庆典,学校招募了一些学生组成了一个方阵,准备在庆典上演出. 这个方阵是一个n*m的矩形,第i行 ...

  3. JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree

    Description Input Output Sample Input 10 1 1 0 0 1 0 0 0 0 0 1 2 2 3 2 4 4 5 2 6 6 7 7 8 7 9 4 10 Sa ...

  4. JZOJ 5439. 【NOIP2017提高A组集训10.31】Calculate

    Description Input Output Data Constraint Solution 设前缀和 g[i][j]g[i][j] 表示 AA 为 ii .BB%A 为 jj 的数量. 这样就 ...

  5. JZOJ 5436. 【NOIP2017提高A组集训10.30】Group

    Description Input Output Sample Input 10 113 28 3 39 90 46 14 55 35 48 47 Sample Output 62453 Data C ...

  6. JZOJ 5431. 【NOIP2017提高A组集训10.28】序列操作

    Description 一开始有n个非负整数hi,接下来会进行m次操作,第i次操作给出一个数c[i],要求你选出c[i]个大于零的数并将它们减去1. 问最多可以进行多少轮操作后无法操作(即没有c[i] ...

  7. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo

    Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Gal ...

  8. JZOJ 5419. 【NOIP2017提高A组集训10.24】筹备计划

    Description 题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 校庆筹备组的老师们正在寻找合适的地方来举办校庆庆典.学生们的位置和可以举办庆典的位置在x轴的正半轴取值在[ ...

  9. JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜

    Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...

最新文章

  1. 网页中如何获取客户端系统已安装的所有字体?
  2. 扩展类加载器 Extension ClassLoader
  3. qwebkit 服务器调用本地html方法,用qt的QWebkit类调用谷歌地图
  4. 量子计算机迷宫,一个简单的例子,带你读懂量子计算机
  5. SharePoint 2010多语言包的安装
  6. HDU 4607 Park Visit(树的直径)
  7. 转!!URL和URI区别
  8. android AsyncTask 只能在线程池里单个运行的问题
  9. dump文件 linux,Linux下快速分析DUMP文件
  10. SteamVR Unity工具包(三):控制器交互
  11. 单工,半双工,全双工区别以及TDD和FDD区别
  12. 2018年【计算机视觉+机器学习+人工智能】领域重要会议汇总
  13. 阿里云服务器ECS到底是什么?
  14. Bytom BIP-32协议和BIP-44协议
  15. 基于微信小程序Map标签及高德地图开源方法实现路径导航
  16. 在C#中使用MSMQ的方法
  17. SQL建表后设定唯一性
  18. Centos7下下载git
  19. 最大公约数(gcd)
  20. oracle 课程目录,cuug oracle DBA课程目录及简介

热门文章

  1. Python学习笔记:数据库2
  2. matlab实现将一个文件夹里面的pcm文件依次合并成一个信号的函数
  3. 云炬随笔20161012
  4. 轮廓线重建:二维平行轮廓线重建理论和方法
  5. Delphi如果要追赶C#,最应该做的
  6. [转]PowerDesigner使用
  7. python函数—— .items()
  8. 【CyberSecurityLearning 34】Linux脚本编写(Shell脚本)
  9. pip install -r requirement.txt 后 提示No such file or directory: ‘requirements.txt‘
  10. Java判断字符串是否相同