题目大意:你的王国里有一条有n个头的恶龙,你希望雇一些骑士来把它杀死(即砍掉所有的头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙所有的头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。输出最少的花费,如果无解,输出“Loowater is doomed!".

解题报告:模拟题,先把所有的恶龙的头的直径和所有的骑士的能力值排一下序,然后一一从前往后比较,当当前的这个骑士可以砍掉当前的这个头的时候,就雇佣这个骑士。可以先定义两个指针,分别指向当前的恶龙的头和当前的骑士,若雇佣成功,则将两个指针都往后移动一位,若雇佣不成功,则将骑士的指针往后移动一位。

 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 模拟题相关推荐

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

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

  2. 【UVA - 11292】Dragon of Loowater (贪心,水题,模拟,twopointer双指针)

    题干: 题目大意: n条恶龙,m个勇士,用勇士来杀恶龙.一个勇士只能杀一个恶龙.而且勇士只能杀直径不超过自己能力值的恶龙.每个勇士需要支付能力值一样的金币.问杀掉所有恶龙需要花费的最少金币. 解题报告 ...

  3. uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列

    题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间. 这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数 ...

  4. UVA 109 SCUD Busters【凸包模拟题】

    题目大意:世界由几个互不重叠领土但彼此敌对的国家组成,每个国家有一个发电站,负责给本国发电. 1,给出每个国家的建筑数(包括发电站和房子数),每个国家用最少的围墙将本国保护起来(凸包): 2,现在有不 ...

  5. UVA 11292 The Dragon of 贪心

    题意是 一个龙有n个头 头都有直径 有m个骑士 骑士有身高 如果身高超过直径 骑士就能砍下龙头 一个骑士只能砍一个头 国王雇佣骑士 价格是骑士的身高 求国王最少要多少钱才能杀掉龙 如果杀不掉 就输出  ...

  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. 勇者斗恶龙UVa 11292

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

  9. 中国石油大学《大学英语(三)统考》第一套模拟题

    第一套模拟题 单选题 (共25道题) 收起 1.(4.0分) 1.- What do you do? _________ A.What do you do? B..Fine, thank you. C ...

最新文章

  1. TextRNN用于文本分类
  2. form表单提交,Servlet接收并读取Excel文件
  3. 谈谈弹性Web托管的“弹性”
  4. HTTP API 设计指南(基础部分)
  5. NTU课程笔记 CE7454 (3):MLPCNN
  6. 深入理解javascript原型和闭包(2)——函数和对象的关系
  7. JAVA Spring 事物 ( 已转账为例 ) 基于 AOP 注解
  8. 旁门左道也谈cacti安装
  9. Spring Boot freemarker导出word下载
  10. Android TableLayout
  11. 【题解】Making The Grade(DP+结论)
  12. solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
  13. php将一个日期字符串转换成举例来说当前的,PHP将一个日期字符串转换成举例来说当前的天数...
  14. 计算机晋级职称考试内容,职称计算机考试内容
  15. knn鸢尾花数据集java_1.从鸢尾花数据集与KNN说起
  16. 亚马逊美国站服装类目CPC认证详解
  17. 程序员的“良知”是道
  18. Classic BADI总结
  19. 安卓手机管理软件_手机文件管理真的很难吗?
  20. 今年十月最新语言排行榜

热门文章

  1. CentOS7 搭建GIT环境
  2. numpy的索引-【老鱼学numpy】
  3. 边工作边刷题:70天一遍leetcode: day 97-1
  4. xpath技术解析xml以及案例模拟用户登录效果
  5. javascript初学
  6. PHP生成PDF完美支持中文,解决TCPDF乱码
  7. 电厂MIS,SIS简介
  8. 发布我的第一个flex作品
  9. 苹果Swift语言中文教程资源汇总
  10. JavaScript 仿ios滑动选择器