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

思路:在砍一个头时,总是选取比这个头高度大但是在武士身高中最小的。

代码 如下:

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>using namespace std;class Solution
{
public:void tragonOfLoowater(vector<int> dragons, vector<int> knights){sort(dragons.begin(), dragons.end());sort(knights.begin(), knights.end());int n = dragons.size(), m = knights.size();int cur = 0;int cost = 0;for (int i = 0; i < m; i++){if (knights[i] >= dragons[cur]){cur++;cost += knights[i];if (cur >= n) break;}}if (cur < n){cout << "Loowater is doomed!" << endl;}else{cout << cost << endl;}}
};Solution solver;int main()
{
#ifndef ONLINE_JUDGEifstream fin("f:\\OJ\\uva_in.txt");streambuf *old = cin.rdbuf(fin.rdbuf());
#endifint n, m;while (cin >> n >> m){if (n == 0 && m == 0) break;vector<int> dragons, knights;for (int i = 0; i < n; i++){int v;cin >> v;dragons.push_back(v);}for (int i = 0; i < m; i++){int v;cin >> v;knights.push_back(v);}solver.tragonOfLoowater(dragons, knights);}#ifndef ONLINE_JUDGEcin.rdbuf(old);
#endifreturn 0;
}

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

  1. UVa11292 - Dragon of Loowater (贪心+模拟)

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

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

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

  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. UVA11292 The Dragon of Loowater

    题意: 国王要杀恶龙, 需要雇佣骑士. 每个骑士只能杀一条龙. 当骑士身高 不小于 龙头时, 骑士可以砍下龙头. 雇佣骑士需要钱, 钱就等于他的身高. 如果骑士能成功砍下所有的龙头, 则输出雇佣总费最 ...

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

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

最新文章

  1. Nginx禁止通过IP,未绑定域名访问服务器
  2. go build编译不同环境
  3. 页面用ajax实现简单的连接数据库
  4. C语言 pthread_join
  5. plsql中oracle定时任务日志,速掌握一个简单的Oracle定时任务
  6. 跨库事务处理 spring+hibernate+struts2+jta
  7. 程序员的相亲那件小事,指南献给您
  8. 金山打字通五笔介绍及讲解
  9. Jquery Uploadify之Java获取动态传参参数
  10. 蓝桥杯等差素数列(暴力)
  11. ApacheCN 活动汇总 2019.7.27
  12. PE装错盘,装到移动硬盘的资料恢复办法
  13. SAP CO-PC物料标准价格更改方案
  14. 戴愫-有效提升与陌生人的社交能力
  15. 病理与病理生理学【1】
  16. 金融时报:电信改革重拼成软骨巨人?
  17. Field ‘xxx‘ doesn‘t have a default value
  18. Java之美[从菜鸟到高手演变]之智力题【史上最全】
  19. 华为畅玩5 android6.0,华为荣耀畅玩5的报价以及具体评测【图文】
  20. Github的免费计算资源,来做个自动网易云签到吧

热门文章

  1. Java 类的一些高级特征
  2. [iOS]C语言技术视频-10-指针变量
  3. 【linux】——ubuntu12.04 下安装wine和wine乱码解决方案
  4. maven no Maven Dependencies view
  5. 浅谈ANR及log分析ANR
  6. Struts2中的拦截器与过滤器学习
  7. 基于Ajax的Web框架Echo2 2.0发布
  8. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
  9. python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...
  10. python学哪个版本-我现在应该学习哪个版本的Python?哪个方向更好?