Jzoj5407 Deep

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

现在多次给定双方起始的法力水晶数量A, B,求Khadgar 与燃烧军团的的最终深度差。

十月刚来jz的题,现在快忘了赶紧补救一下

这个题还是看了一眼就回忆起来了

最优策略很容易看出,后手最优策略就是每当先手放入一个水晶后立即清空传送门法力(强迫先手只有一种决策)

当对手放下最后一个水晶时,就可以自己再放一个,得到2法力,让后后面自己放自己得到法力

所以最优策略下,答案就是a-b-2,注意特判有一方为0的情况,那么就是a-b

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int ma(){
	int a,b;
	scanf("%d%d",&a,&b);
	if(a&&b) printf("%d
",a-b-2);
	else printf("%d
",a-b);
}
int main(){ 
	freopen("deep.in","r",stdin);
	freopen("deep.out","w",stdout);
	int T;for(scanf("%d",&T);T--;ma()); 
}

原文地址:https://www.cnblogs.com/Extended-Ash/p/9477236.html