zoukankan      html  css  js  c++  java
  • 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()); 
    }

  • 相关阅读:
    ElasticSearch搜索
    Muddery框架
    https和http的区别
    multiprocessing模块创建进程
    进程理论基础
    单例模式
    原型模式
    建造者模式
    StrutsTypeConverter的使用
    UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
  • 原文地址:https://www.cnblogs.com/Extended-Ash/p/7800605.html
Copyright © 2011-2022 走看看