Uva 11292 The Dragon of Loowater 模拟题
题目大意:你的王国里有一条有n个头的恶龙,你希望雇一些骑士来把它杀死(即砍掉所有的头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙所有的头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。输出最少的花费,如果无解,输出“Loowater is doomed!".
解题报告:模拟题,先把所有的恶龙的头的直径和所有的骑士的能力值排一下序,然后一一从前往后比较,当当前的这个骑士可以砍掉当前的这个头的时候,就雇佣这个骑士。可以先定义两个指针,分别指向当前的恶龙的头和当前的骑士,若雇佣成功,则将两个指针都往后移动一位,若雇佣不成功,则将骑士的指针往后移动一位。
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include<cstdio> 2 #include<algorithm> 3 #include<cmath> 4 int main() { 5 int n,m,sum,x[20005],r[20005]; 6 while(scanf("%d%d",&n,&m)&&(n||m)) { 7 for(int i=1;i<=n;++i) 8 scanf("%d",&r[i]); 9 for(int i=1;i<=m;++i) 10 scanf("%d",&x[i]); 11 std::sort(r+1,r+n+1); 12 std::sort(x+1,x+m+1); 13 int y=1,z=1; 14 sum=0; 15 while(1) { 16 if(r[y]<=x[z]) { 17 sum+=x[z]; 18 y++; 19 z++; 20 } 21 if(r[y]>x[z]) 22 z++; 23 if(z>m||y>n) 24 break; 25 } 26 if(sum==0||y!=n+1) 27 printf("Loowater is doomed!\n"); 28 else 29 printf("%d\n",sum); 30 } 31 return 0; 32 }
View Code
转载于:https://www.cnblogs.com/xiaxiaosheng/archive/2013/06/02/3114217.html
Uva 11292 The Dragon of Loowater 模拟题相关推荐
- 贪心/思维题 UVA 11292 The Dragon of Loowater
题目传送门 1 /* 2 题意:n个头,m个士兵,问能否砍掉n个头 3 贪心/思维题:两个数组升序排序,用最弱的士兵砍掉当前的头 4 */ 5 #include <cstdio> 6 #i ...
- 【UVA - 11292】Dragon of Loowater (贪心,水题,模拟,twopointer双指针)
题干: 题目大意: n条恶龙,m个勇士,用勇士来杀恶龙.一个勇士只能杀一个恶龙.而且勇士只能杀直径不超过自己能力值的恶龙.每个勇士需要支付能力值一样的金币.问杀掉所有恶龙需要花费的最少金币. 解题报告 ...
- uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列
题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间. 这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数 ...
- UVA 109 SCUD Busters【凸包模拟题】
题目大意:世界由几个互不重叠领土但彼此敌对的国家组成,每个国家有一个发电站,负责给本国发电. 1,给出每个国家的建筑数(包括发电站和房子数),每个国家用最少的围墙将本国保护起来(凸包): 2,现在有不 ...
- UVA 11292 The Dragon of 贪心
题意是 一个龙有n个头 头都有直径 有m个骑士 骑士有身高 如果身高超过直径 骑士就能砍下龙头 一个骑士只能砍一个头 国王雇佣骑士 价格是骑士的身高 求国王最少要多少钱才能杀掉龙 如果杀不掉 就输出 ...
- 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 个骑士可以雇佣,一个 ...
- 勇者斗恶龙UVa 11292
例题1 勇者斗恶龙(The Dragon of Loowater, UVa 11292) 你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个能力值为x ...
- 中国石油大学《大学英语(三)统考》第一套模拟题
第一套模拟题 单选题 (共25道题) 收起 1.(4.0分) 1.- What do you do? _________ A.What do you do? B..Fine, thank you. C ...
最新文章
- TextRNN用于文本分类
- form表单提交,Servlet接收并读取Excel文件
- 谈谈弹性Web托管的“弹性”
- HTTP API 设计指南(基础部分)
- NTU课程笔记 CE7454 (3):MLPCNN
- 深入理解javascript原型和闭包(2)——函数和对象的关系
- JAVA Spring 事物 ( 已转账为例 ) 基于 AOP 注解
- 旁门左道也谈cacti安装
- Spring Boot freemarker导出word下载
- Android TableLayout
- 【题解】Making The Grade(DP+结论)
- solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
- php将一个日期字符串转换成举例来说当前的,PHP将一个日期字符串转换成举例来说当前的天数...
- 计算机晋级职称考试内容,职称计算机考试内容
- knn鸢尾花数据集java_1.从鸢尾花数据集与KNN说起
- 亚马逊美国站服装类目CPC认证详解
- 程序员的“良知”是道
- Classic BADI总结
- 安卓手机管理软件_手机文件管理真的很难吗?
- 今年十月最新语言排行榜