SSL2793 2017年10月26日提高组T2 Deep(博弈)

来源:互联网 发布:U8索引超出数组界限 编辑:程序博客网 时间:2024/06/05 04:13

2017年10月26日提高组T2 Deep

Description

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

Input

T
A1 B1
A2 B2

AT BT

Output

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

分析:两个人都希望自己的深度更大,先手只能选第一种,后手一定会选第二种,然后等先手只剩一个水晶时,后手再跟,这样对后手来说一定是最好的,所以答案为A-B-2,有一方开始时为0特判一下就好了。

代码

#include <cstdio>using namespace std;int n,m,ans;int main(){    int T;    scanf("%d",&T);    while (T--)    {        scanf("%d%d",&n,&m);        ans=n-m;        if (n>0&&m>0) ans-=2;        printf("%d\n",ans);    }}