一、题目信息

The - Modcrab

简单翻译一下:Vova有生命值h1,每次攻击值为a1,每瓶药水恢复生命值c1;Modcrab有生命值h2,每次攻击值为a2。在每个关卡开始,Vova有两种选择,要么攻击怪兽Modcrab,要么喝一瓶药水(Modcrab的生命值允许超过h2),然后,如果战斗没有结束,Modcrab会攻击Vova。战斗结束的标志是Vova(或Modcrab)的生命值降至0,或者更低。

注:1、选择喝药水,Modcrab也会攻击Vova。2、攻击是有先后顺序的

二、算法描述

网上有一些描述“贪心策略证明”的方法是这么说的:

考察一个问题的最优解,证明可修改该最优解,使得其从贪心选择开始,然后用数学归纳法证明每一步都可以通过贪心选择得到最优解
1,假定首选元素不是贪心选择所要的元素,证明将首元素替换成贪心选择所需元素,依然得到最优解;
2,数学归纳法证明每一步均可通过贪心选择得到最优解

在这里,如果h1 > a2或者a1 >= h2,我们可以每次都选择攻击,直到条件不满足,才喝药水。根据证明贪心策略的方法,很明显这里符合贪心的条件。

三、算法实现

 #include<stdio.h>
#include<vector> int res[], cnt = ;
int main()
{
int h1, a1, c1, h2, a2;
scanf("%d%d%d", &h1, &a1, &c1);
scanf("%d%d", &h2, &a2);
memset(res, , sizeof(res));
while (h2 > )
{
if(h1 <= a2 && h2 > a1)
{
h1 += c1;
h1 -= a2;
res[++cnt] = ;
}
else
{
h1 -= a2;
h2 -= a1;
res[++cnt] = ;
}
}
printf("%d\n", cnt);
for (int i = ; i <= cnt; i++)
{
if (res[i] == ) printf("STRIKE\n");
if(res[i] == ) printf("HEAL\n");
}
return ;
}

The - Modcrab——使用贪心策略的更多相关文章

  1. LeetCode--Best Time to Buy and Sell Stock (贪心策略 or 动态规划)

    Best Time to Buy and Sell Stock Total Accepted: 14044 Total Submissions: 45572My Submissions Say you ...

  2. poj1328 Radar Installation(贪心 策略要选好)

    https://vjudge.net/problem/POJ-1328 贪心策略选错了恐怕就完了吧.. 一开始单纯地把island排序,然后想从左到右不断更新,其实这是错的...因为空中是个圆弧. 后 ...

  3. 【贪心策略】USACO 越野跑

    问题 H: 越野跑[贪心策略] [题面] 为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练.贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:奶牛独自进山的时间不得超 ...

  4. Poj 1017 Packets(贪心策略)

    一.题目大意: 一个工厂生产的产品用正方形的包裹打包,包裹有相同的高度h和1*1, 2*2, 3*3, 4*4, 5*5, 6*6的尺寸.这些产品经常以产品同样的高度h和6*6的尺寸包袱包装起来运送给 ...

  5. E - 不爱学习的lyb HDU - 1789(贪心策略)

    众所周知lyb根本不学习.但是期末到了,平时不写作业的他现在有很多作业要做. CUC的老师很严格,每个老师都会给他一个DDL(deadline). 如果lyb在DDL后交作业,老师就会扣他的分. 现在 ...

  6. HDU-1052(贪心策略)

    Tian Ji -- The Horse Racing Problem Description Here is a famous story in Chinese history. "Tha ...

  7. BZOJ 1029: [JSOI2007]建筑抢修【优先队列+贪心策略】

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 4810  Solved: 2160[Submit][Statu ...

  8. 【贪心策略】渡河(river)

    “假舟楫者,非能水也,而绝江河.”这句话说的是,借助渡船的人,不是会游水,却能横渡江河. 会游水的人反而不一定能顺利地横渡江河.由于江面风浪很大,他们必须潜泳渡河.这就必须用到氧气瓶.氧气瓶当然是出题 ...

  9. 51nod1673 树有几多愁 - 贪心策略 + 虚树 + 状压dp

    传送门 题目大意: 给一颗重新编号,叶子节点的值定义为他到根节点编号的最小值,求所有叶子节点值的乘积的最大值. 题目分析: 为什么我觉得这道题最难的是贪心啊..首先要想到 在一条链上,深度大的编号要小 ...

随机推荐

  1. E20181030-hm

    conquer  vt. 征服; 克服; 攻克; 打败(敌人);  vi. 得胜,胜利; recur vi. 复发; 重现; 再发生; 回想; recurrence n. 复回,重现; 反复,隐现; ...

  2. 【JSP报错】—— org.apache.jasper.JasperException: Unable to compile class for JSP

    org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [52] ...

  3. ASPNET-ASPNETCORE 认证

    话题背景 关于认证我的个人理解是,验证信息的合法性.在我们生活当中,比如门禁,你想进入一个有相对安全措施的小区或者大楼,你需要向保安或者门禁系统提供你的身份信息证明,只有确定你是小区业主,才可以进来, ...

  4. python 函数 之 用户注册register()

    db_path='db.txt' #定义默认文件路径,方便修改def get_uname(): while True: uname=input('请输入用户名:').strip() if uname. ...

  5. github的上传本地文档

    自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...

  6. css文本之蛇

    文本之蛇 css把文本当做一行来处理,把他们放在一个看不见的盒子里面.盒子遇到容器的外边界会折行.所有的文本属性都应用于这个盒子,而不是包含文本的容器. 最有用的8个文本属性 文本缩进(text-in ...

  7. sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

    问题描述:在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数 ...

  8. html Css PC 移动端 公用部分样式代码整理

    css常用公用部分样式代码整理: body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li ...

  9. 调试PHP

    echo "<br/>"; print_r($array);

  10. Lock简介

    digest synchronized已经提供了锁的功能,而且还是Java的内置特性,那为什么还要出现lock呢? 用一句话来讲就是——synchronized可以实现同步,但太死板了它的同步机制:l ...