题目链接

分析:
能力强的骑士开高价是合理的
但是不能大材小用,所以我们直接贪心
把龙和骑士排序之后,
一个一个砍就行了
当然,不能砍掉“当前需要砍掉的头”的骑士我们就不用再考虑ta了

tip

成功的砍掉一个头之后,不要忘了把骑士的指针向后推移一位

附图:

//这里写代码片
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int M=20005;
int a[M],b[M];
int main()
{  int n,m;  while(scanf("%d%d",&n,&m)&&n&&m)  {  int i,j=0,sum=0;  for(i=0;i<n;i++)  scanf("%d",&a[i]);  for(i=0;i<m;i++)  scanf("%d",&b[i]);  sort(a,a+n);  sort(b,b+m);  for(i=0;i<m;i++)  if(b[i]>=a[j])  {  sum+=b[i];  if(++j==n) break;  }  if(j<n) printf("Loowater is doomed!\n");  else printf("%d\n",sum);  }  return 0;
}  

当然,还有一种更优美的写法:

//这里写代码片
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>using namespace std;int n,m;
int dragon[20010],knight[20010];
int ans=0;int main()
{while (scanf("%d%d",&n,&m)!=EOF&&n&&m){for (int i=1;i<=n;i++) scanf("%d",&dragon[i]);for (int i=1;i<=m;i++) scanf("%d",&knight[i]);if (n>m) {printf("Loowater is doomed!\n");continue;}sort(dragon+1,dragon+1+n);sort(knight+1,knight+1+m);ans=0;int cnt=1;for (int i=1;i<=m;i++)if (knight[i]>=dragon[cnt]){ans+=knight[i];if (++cnt>n) break;}if (cnt<n) printf("Loowater is doomed!\n");else printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/wutongtong3117/p/7673026.html

UVa11292 - Dragon of Loowater (贪心+模拟)相关推荐

  1. UVa-11292 Dragon of Loowater (贪心)

    题目链接 题意:你的王国里一条n个头的恶龙,你希望雇佣一些骑士砍掉他的所有头,村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币,如何雇用骑士才能砍掉恶龙 ...

  2. UVa11292 - Dragon of Loowater(贪心)

    题意:有一个恶龙有n个头,n个头在不同的高度,m个武士,武士只能砍到比它矮的头,而雇佣武士的费用就是武士的高度值,要求以最少的费用来杀到这条恶龙. 思路:在砍一个头时,总是选取比这个头高度大但是在武士 ...

  3. uva11292 - The Dragon of Loowater (贪心)

    题目: 有n头恶龙,diameter存其直径,有m个骑士,height存其身高,国王雇佣骑士杀恶龙,佣金为所雇佣骑士身高之和,每个骑士只能杀一条龙且只能被雇一次,求国王需付最少佣金. 思路: 排序   ...

  4. UVA11292 HDU1902 POJ3646 The Dragon of Loowater【贪心】

    问题链接:UVA11292 HDU1902 POJ3646 The Dragon of Loowater. 题意简述:(略) 问题分析: 这个问题是一个典型的贪心法问题,求代价最小. 由于需要用到排序 ...

  5. 贪心/思维题 UVA 11292 The Dragon of Loowater

    题目传送门 1 /* 2 题意:n个头,m个士兵,问能否砍掉n个头 3 贪心/思维题:两个数组升序排序,用最弱的士兵砍掉当前的头 4 */ 5 #include <cstdio> 6 #i ...

  6. acm的STL容器之队列篇 及 UVa 11292 - Dragon of Loowater 小根堆解法(贪心算法)

    2018-07-17 优先队列,即Priority Queues 1.简单介绍一下队列(介绍功能,不作分析) C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构. 1.back ...

  7. 勇者斗恶龙(The Dragon of Loowater, UVa 11292)

    勇者斗恶龙(改编)(The Dragon of Loowater, UVa 11292) 你的王国里有一条 n 个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村 里有 m 个骑士可以雇佣,一个 ...

  8. 校内hu测(10.6T2,T3)(乱搞+贪心+模拟)

    @liu_runda T2.便(then) [题目描述] 给出一个R*C的棋盘.共有R行C列,R*C个格子.现要在每个格子都填一个非负整数.使得任意一个2*2的正方形区域都满足这样的性质:左上角的数字 ...

  9. 【NOIP2013】积木大赛(差分数组,贪心模拟)

    题目 原题链接 问题描述 分析 直观思路--贪心模拟:每次都处理最长正整数区段. 以[2,3,4,1,2][2,3,4,1,2][2,3,4,1,2]为例: [2,3,4,1,2]⟹[1,2,3,0, ...

最新文章

  1. 使用Go内置库实现简易httpbin功能
  2. 检测到目标服务器启用了trace方法_深度学习检测小目标常用方法
  3. matlab的一个疑问?
  4. 【转载】web.xml中的classpath和classpath*
  5. 从SVN资源库下载项目
  6. 安阳学院有几次计算机考试,安阳:2017年上半年全国计算机等级考试顺利结束...
  7. 算法_快速排序算法C/C++
  8. Atitit 项目成本之道 attilax著 1.1. 循环使用 效果明显 降低50%费用 1 1.2. Diy战略(效果显著)缩短供应链 自己组合使用,效率更高 2 1.3. 扎堆战略 使用广泛
  9. 2000,XP中显示器和系统匹配的问题?
  10. Tomcat服务器下载、安装、配置环境变量教程(超详细)
  11. tomcat 加载js 中文乱码
  12. 计算机boot指令,计算机基本知识(8001)---MBR(master boot record)主引导记录
  13. 五大地形等高线特征_五大地形的气候特点
  14. (二)JAVA设计模式中的六大设计原则之里氏替换原则
  15. RefineDNet个人学习笔记
  16. html图片显示详情,纯CSS鼠标经过图片视差弹出层显示详情链接按钮特效代码.html...
  17. 测试智商的软件或网址,iq测试(sds在线测试)
  18. 数据挖掘 顶级期刊_数据挖掘领域顶级会议期刊及其分析
  19. HTML表格中实现自动换行
  20. python自带的函数有哪些_内置函数 python自带的函数

热门文章

  1. 栅格单元值的选取方法_计算机求解微分方程的六大数值计算方法
  2. pythonjson序列化_Python Json序列化与反序列化的示例
  3. Vue 项目调试总结
  4. dedecms调用某一顶级栏目下二级标签
  5. Spring Boot笔记-JPA中自定义@Query分页查询
  6. Qt笔记-对connect中第5个进行多组实验(对信号与槽进一步认识)
  7. C++笔记-ClassA a和ClassA a()的区别与联系
  8. Java笔记-通过放射获取类中成员名及调用get方法及map构造JSON数据
  9. 前端/JS笔记-利用JS/正则判断input是否存数字以及字母加数字
  10. Java高级语法笔记-HashMap