UVa11292 - Dragon of Loowater (贪心+模拟)
题目链接
分析:
能力强的骑士开高价是合理的
但是不能大材小用,所以我们直接贪心
把龙和骑士排序之后,
一个一个砍就行了
当然,不能砍掉“当前需要砍掉的头”的骑士我们就不用再考虑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 (贪心+模拟)相关推荐
- UVa-11292 Dragon of Loowater (贪心)
题目链接 题意:你的王国里一条n个头的恶龙,你希望雇佣一些骑士砍掉他的所有头,村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币,如何雇用骑士才能砍掉恶龙 ...
- UVa11292 - Dragon of Loowater(贪心)
题意:有一个恶龙有n个头,n个头在不同的高度,m个武士,武士只能砍到比它矮的头,而雇佣武士的费用就是武士的高度值,要求以最少的费用来杀到这条恶龙. 思路:在砍一个头时,总是选取比这个头高度大但是在武士 ...
- uva11292 - The Dragon of Loowater (贪心)
题目: 有n头恶龙,diameter存其直径,有m个骑士,height存其身高,国王雇佣骑士杀恶龙,佣金为所雇佣骑士身高之和,每个骑士只能杀一条龙且只能被雇一次,求国王需付最少佣金. 思路: 排序 ...
- UVA11292 HDU1902 POJ3646 The Dragon of Loowater【贪心】
问题链接:UVA11292 HDU1902 POJ3646 The Dragon of Loowater. 题意简述:(略) 问题分析: 这个问题是一个典型的贪心法问题,求代价最小. 由于需要用到排序 ...
- 贪心/思维题 UVA 11292 The Dragon of Loowater
题目传送门 1 /* 2 题意:n个头,m个士兵,问能否砍掉n个头 3 贪心/思维题:两个数组升序排序,用最弱的士兵砍掉当前的头 4 */ 5 #include <cstdio> 6 #i ...
- acm的STL容器之队列篇 及 UVa 11292 - Dragon of Loowater 小根堆解法(贪心算法)
2018-07-17 优先队列,即Priority Queues 1.简单介绍一下队列(介绍功能,不作分析) C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构. 1.back ...
- 勇者斗恶龙(The Dragon of Loowater, UVa 11292)
勇者斗恶龙(改编)(The Dragon of Loowater, UVa 11292) 你的王国里有一条 n 个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村 里有 m 个骑士可以雇佣,一个 ...
- 校内hu测(10.6T2,T3)(乱搞+贪心+模拟)
@liu_runda T2.便(then) [题目描述] 给出一个R*C的棋盘.共有R行C列,R*C个格子.现要在每个格子都填一个非负整数.使得任意一个2*2的正方形区域都满足这样的性质:左上角的数字 ...
- 【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, ...
最新文章
- 使用Go内置库实现简易httpbin功能
- 检测到目标服务器启用了trace方法_深度学习检测小目标常用方法
- matlab的一个疑问?
- 【转载】web.xml中的classpath和classpath*
- 从SVN资源库下载项目
- 安阳学院有几次计算机考试,安阳:2017年上半年全国计算机等级考试顺利结束...
- 算法_快速排序算法C/C++
- Atitit 项目成本之道 attilax著 1.1. 循环使用 效果明显 降低50%费用	1 1.2. Diy战略(效果显著)缩短供应链 自己组合使用,效率更高	2 1.3. 扎堆战略 使用广泛
- 2000,XP中显示器和系统匹配的问题?
- Tomcat服务器下载、安装、配置环境变量教程(超详细)
- tomcat 加载js 中文乱码
- 计算机boot指令,计算机基本知识(8001)---MBR(master boot record)主引导记录
- 五大地形等高线特征_五大地形的气候特点
- (二)JAVA设计模式中的六大设计原则之里氏替换原则
- RefineDNet个人学习笔记
- html图片显示详情,纯CSS鼠标经过图片视差弹出层显示详情链接按钮特效代码.html...
- 测试智商的软件或网址,iq测试(sds在线测试)
- 数据挖掘 顶级期刊_数据挖掘领域顶级会议期刊及其分析
- HTML表格中实现自动换行
- python自带的函数有哪些_内置函数 python自带的函数
热门文章
- 栅格单元值的选取方法_计算机求解微分方程的六大数值计算方法
- pythonjson序列化_Python Json序列化与反序列化的示例
- Vue 项目调试总结
- dedecms调用某一顶级栏目下二级标签
- Spring Boot笔记-JPA中自定义@Query分页查询
- Qt笔记-对connect中第5个进行多组实验(对信号与槽进一步认识)
- C++笔记-ClassA a和ClassA a()的区别与联系
- Java笔记-通过放射获取类中成员名及调用get方法及map构造JSON数据
- 前端/JS笔记-利用JS/正则判断input是否存数字以及字母加数字
- Java高级语法笔记-HashMap