以后一周的博客只能一天发了
平时上班忙
真没时间写这个
这周开始写排序了
上次竞赛有个桶排的题就没做
唉~
所以加强练习一下
每天就瞎水题emmm
看到一个炉石的题
感觉还不错
对我这个菜鸡来说也挺难的
就放在这里了

题目描述
Yumis最近在玩炉石传说。

在炉石传说中脏牧有一张一费卡片(一费就是使用要消耗1点法力水晶),叫做疯狂药水,这个的效果是将一个敌方场上攻击小于等于2的随从拉到自己的战场内。

还有一张四费卡片叫做暗影狂乱,这个的效果是将一个敌方场上攻击小于等于3的随从拉到自己的战场内。

还有一张一费卡片就是缩小药水,这个的效果是将敌人全场的随从攻击力下降3点。

你PY了炉石的GM所以你有了无数张的这三种卡片,但是GM告诉你缩小药水是这个牌比较不好创建,为了为GM着想你必须在使用最少的缩小药水的情况下A爆对手的脸。

现在你的对手场上有n个随从,每个随从的攻击力是ki点。

你的对手有m点血量。

而你现在要做的就是将敌方的场上的随从拉过来自己的场上并攻击对手(每一个随从只能攻击一次,攻击力为你拉过来的时候随从剩余的攻击力),A爆对面的脸(将对面的血打到0点及以下)。

输入格式
第一行用一个空格隔开的两个整数n,m分别代表敌方场上的随从数量和你对手的血量。

第二行n个整数每两个整数之间用一个空格隔开,分别代表敌方场上每一个随从的攻击力ki。

输出格式
一行如果可以A爆则输出最少使用的缩小药水的数量和此时使用的法力水晶,两个数据之间用一个空格隔开(如果有多个答案则输出消耗法力水晶最少的答案)。

否则输出“Human Cannot Win Dog”(没有双引号)
样例说明1:

敌方场上有3只随从,敌方有5点血量

我们把3攻随从和2攻随从拉过来花费0个缩小药水和5点耗费(一张疯狂药水一个暗影狂乱(1+4 = 5))伤害足够击杀对方。

样例说明2:

使用16个缩小药水(下面数据后面第一个括号指拉过来的时候伤害为多高 ,第二个括号表示拉过来的时候使用多少的缩小药水)

拿10(1)(3)、20(2)(6)、30(3)(9)、50(2)(16)攻的怪物总共造成8点伤害 刚好A爆!

Easy : 保证 0 < n <= 10 并且不存在用到暗影狂乱和缩小药水的情况 20%

Normal :保证 0 < n <= 10 并且不存在用到缩小药水的情况 20%

Hard :保证 0 < n <= 10 30%

Extra:保证0 <= n <= 5000000(6个0),最大攻击力小于30000 30%

保证 0 < n <= 5000000 0 < ki <=30000 0<=m<=5000000 (6个0)
原题链接:https://www.luogu.com.cn/problem/P3944
纪念一下我玩过的游戏
下面就是我的代码啦
不太简略
凑活着看吧(doge)

#include<bits/stdc++.h>
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
using namespace std;
int a[30005],used[5],maxn=-100,sum=0,ans=0,cnt=0;
const int cost[5]={0,1,1,4};
inline int read() {int x=0;bool sign=false;char ch=getchar();while(ch<'0'||ch>'9') {sign=ch=='-';ch=getchar();}while(ch>='0'&&ch<='9') {x=(x<<3)+(x<<1)+ch-'0';ch=getchar();}return sign?-x:x;
}
inline int clac(int x,const int num) {  x-=cnt*3;if(x>3) {int pre_x=x,new_cnt;x%=3;   x=x==0?3:x;  new_cnt=(pre_x-x)/3;ans+=new_cnt;cnt+=new_cnt;}used[x]+=num;ans+=cost[x]*num;return x*num;
}
int main() {int in,n=read(),m=read();for(int i=1;i<=n;i++) {in=read();++a[in];maxn=max(maxn,in);}maxn=min(maxn,29998);    for(int i=1;i<=maxn&&sum<m;i+=3) {    if(a[i])sum+=clac(i,a[i]);if(a[i+1])sum+=clac(i+1,a[i+1]);if(a[i+2])sum+=clac(i+2,a[i+2]);}if(sum<m)return puts("Human Cannot Win Dog"),0; while(sum-3>=m&&used[3])--used[3],ans-=4,sum-=3;  while(sum-1>=m&&used[1])--used[1],--ans,--sum;while(sum-2>=m&&used[2])--used[2],--ans,sum-=2;cout<<cnt<<" "<<ans;return 0;
}

学习打卡-真-第16天(补发) 炉石yyds相关推荐

  1. Mathmatica的学习打卡day 16

    Mathmatica的学习打卡day 16 ----太原理工大学机器人团队 今天的学习内容为二维数据作图(学习来自哔哩哔哩) ListPlot函数 ListPlot函数是用来绘制散点图的,ListPl ...

  2. numpy 转存为matlab_Numpy学习打卡task01

    今天带来的是Datawhale自主学习Numpy下学习打卡笔记第一部分-输入输出(为什么没有上,别问,问就是numpy.tan(90)).本文大致介绍了numpy的相关背景知识.本文素材来自网络及da ...

  3. UE4: 学习虚幻引擎4的16条准则

    作为一个完全的新手,尝试去学习一个新的游戏引擎看起来会很可怕.你拥有了许多的学习教程.文件和建议,但是你却不明白怎样去开始或是以一个什么样的步骤去学习虚幻引擎4.你在不同的方向间摇摆不定,最终你会越来 ...

  4. 基于Android的学生学习打卡监督系统

    文档+任务书+选题申请表+开题报告+开题答辩PPT+项目源码 毕 业 论 文 目 录 1.绪论 1 1.1课题开发背景 2 1.2课题开发目的及意义 3 2.系统分析 3 2.1研究目标 3 2.2需 ...

  5. 寒假学习打卡第一篇文章-----numpy的学习

    寒假学习打卡-----numpy的学习(技术咨询vx:keyichen_free day01 1.数组的创建 # 再进行所有的操作之前,要先导入numpy import numpy as np # 创 ...

  6. 使用Python,OpenCV进行卡类型及16位卡号数字的OCR

    使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...

  7. 坚持学习打卡的人,将来会变成什么样?

    坚持打卡的人,将来会变成怎么样?让我们拭目以待.我组织了一个打卡活动,希望大家踊跃参加. 有一个励志故事: 在中国的最东边生长着一种竹子,名叫"毛竹".那里的农民到处播种,每天精心 ...

  8. 普中科技开发板使用说明书_百度大脑加持,米尔科技FZ3深度学习计算卡评测

    如果你要问我现在电子产业什么最热,那无疑是AI,而基于大数据训练的深度学习技术可以说是目前AI应用的最广,最成功的产品形态了,覆盖我们生活的方方面面,诸如购物.看病.新闻编辑等,在这高深技术的背后少不 ...

  9. zynq无法识别sd卡_百度米尔携手推出FZ3深度学习计算卡!

    前言:百度大脑是百度 AI 核心技术引擎,包括视觉.语音.自然语言处理.知识图谱.深度学习等AI核心技术和AI开放平台. 基于 Xilinx Zynq UltraScale+ MPSoC 的 Edge ...

最新文章

  1. php获取日期对应的星期,PHP获取日期对应的星期
  2. 系列(六)—Linux命令
  3. 使用try_catch_finally处理流中的异常
  4. android高德地图自定义带数字marker图标,自定义图标-点标记-示例中心-JS API 示例 | 高德地图API...
  5. 《Android开发从零开始》——10. LinearLayout学习
  6. mysql binlog sql统计_mysql的binlog详解
  7. python的知识点运用_程序猿在Python编程中不得不使用的十二种基础知识
  8. matlab梯形模糊数,基于梯形模糊数的OWA方法与matlab应用
  9. wordpress 后台404解决办法
  10. python未知数的矩阵运算,机器学习的数学 之python矩阵运算
  11. Rust : Trait Object safe 问题
  12. 系统地编译Hi3519过程及其处理问题思路
  13. RabbitMQ提示ERROR: epmd error for host
  14. 远程监控养猪监控系统
  15. 取消管理员取得所有权_win10如何获得管理员所有权?
  16. DEVC艹如何设置初始的源码
  17. 用python求解一元二次方程组
  18. 工作进入第七年,开始幻想四十岁的生活
  19. cloudflare免费证书_新Cloudflare:免费CDN+免费SSL证书轻松搞定https
  20. 笔记本锁定计算机怎么解锁,笔记本电脑键盘怎么解锁呢

热门文章

  1. 最新小红书解析api接口php源码
  2. 解密:阿里巴巴公司根据截图查到泄露信息的员工的技术是?
  3. python播放视频没有声音_opencv学习02-播放视频,注意没有声音
  4. pki ca基础概念
  5. 133个心情变好的佛家领悟! 推荐哦
  6. Android 播放WEBP
  7. 携号转网之后如何通过号段判断手机号码的运营商?
  8. PDA手持终端有哪些应用?
  9. FLASH动画制作常用快捷键
  10. 75. SAP ABAP 一个有用的程序正确性辅助工具,Checkpoint group 的使用方法介绍