勇者斗恶龙

你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(砍掉所有的头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个致敬不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。

输入格式:输入包含多组数据。每组数据的第一行为正整数n和m(1<=n,m<=20000);以下n行每行为一个整数,即恶龙每个头的直径;以下m行每行为一个整数,即每个骑士的能力。输入结束标志为n=m=0.

输出格式:对于每组数据,输出最少花费。如果无解,输出“Loowater is doomed!”。

样例输入:

2 3

5

4

7

8

4

2 1

5

5

10

0 0

样例输出:

11

Loowater is doomed!

解:此题直接按如下思路:龙头大小和骑士能力值排序->分别比较->雇佣满足条件的骑士~即可~

附上代码:

#include#include #includeusing namespace std;

#define MAX 20000

int warriors[MAX];

int dragon[MAX];

int main()

{

int i, j, sum;

int n, m;

while(scanf("%d%d", &n, &m) == 2 && n && m)

{

for(i = 0; i < n; i++) scanf("%d", &dragon[i]);

for(j = 0; j < m; j++) scanf("%d", &warriors[j]);

sort(dragon, dragon+n); sort(warriors, warriors+m); //将龙头和骑士从小到大排序

j = 0; sum = 0;

for(i = 0; i < m; i++)

{

if(warriors[i] >= dragon[j]) //如果骑士能力值足够,可以砍掉此龙头

{

sum += warriors[i]; //雇佣该骑士

j++;

}

if(j == n) break;

}

if(j == n) printf("%d\n", sum);

else printf("Loowater is doomed!\n");

}

return 0;

}

运行结果:

C语言第一行为N以下N行,C语言每日小练(四)——勇者斗恶龙相关推荐

  1. c语言编写atm取款功能_21行C语言代码编写一个具备加密功能的聊天程序!网友:666...

    具备加密功能的VC++聊天程序实例,"密聊"采用 2048bit 的 RSA 数据加密算法对数据进行加密和数字签名,在使用前必须生成用户的私钥和公钥. 只要通过安全通道相互把公钥传 ...

  2. Linux文本编辑跳到指定行,Linux 命令每日一练:vi命令

    Linux中vi 命令 ->可以理解记忆为:visual insert(即可视化插入)-> 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫v ...

  3. c语言数组蛇形编程,C语言每天小练(二)——蛇形数组

    C语言每日小练(二)--蛇形数组 例:在n*n方阵里输入1,2,3,...,n*n,要求填成蛇形.例如n=4时方阵为: 10 11 12  1 9 16 13  2 8 15 14  3 7   6 ...

  4. 逆向基础之C语言 第一篇

    逆向之C语言 00_C语言概述 知识点1 [写代码的过程] Visual C++ 6.0 安装VC6.0 配置兼容性 创建c工程 添加源文件 知识点2 [完整的C代码分析] 1.案例1:hello i ...

  5. go语言第一个程序-hello world

    文章目录 go语言第一个程序 go语言第一个程序 继上一篇博文完成Ubuntu的go语言环境配置后. 此篇博文,仅记录第一个go语言程序的创建及运行. 首先,找到一个文件夹,用来作为存放文件的地方. ...

  6. c语言程序设计林小茶,C语言第一篇概述林小茶

    <C语言第一篇概述林小茶>由会员分享,可在线阅读,更多相关<C语言第一篇概述林小茶(8页珍藏版)>请在人人文库网上搜索. 1.第一章,C,语言概述,1.1,程序与程序设计语言, ...

  7. kij是不是c语言语句,C语言第一二三章习题.doc

    C语言第一二三章习题.doc (一)判断题(用A表示正确,B表示错误)说明在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误.1.函数是C程序的基本单位,每个C程序中允许有多个ma ...

  8. C语言 第一节 简单的C语言

    参考哔哩哔哩UP主:"学士帽"做的笔记. C语言专升本考试大纲: C语言程序的基本结构 数据类型及其运算和输入输出 基本语句 选择结构 循环结构(重点) 难点: 数组 函数 指针 ...

  9. 红灯停绿灯行c语言编程,基于物联网应用的《C语言程序设计》教学模式研究

    [摘要] 物联网是信息技术的最新发展发向,C语言程序设计又是物联网相关专业中的基础课,在物联网中的应用广泛,本文结合所任教的技工院校学生特点,在分析了C语言教学中存在的问题后,对C语言的教学模式进行了 ...

最新文章

  1. 机器学习过拟合---范数
  2. C++11(及现代C++风格)和快速迭代式开发
  3. 解决了无法显示验证码的问题
  4. 职场中一路走来却拂不去一丝失落——一个女IT的告白
  5. ribbon和feign的区别
  6. 十四、中文词向量训练一
  7. java必读书籍_最佳5本Java性能调优书籍–精选,必读
  8. C#设计模式之0-简单工厂模式
  9. 360浏览器清凉新版让手机解暑
  10. python的安装和运行
  11. SQL Server 2005 应用 全文搜索
  12. setpythonhome_python的set,和字典的详细使用方法,以及部分习题
  13. 在不同场景里,用户使用手机时的认知水平和操作绩效
  14. win7打开xp共享的计算机,高手教你如何让XP与Win7系统局域网共享
  15. 人工智能--人类的二次进化
  16. 百度云智峰会 百度天像打造多媒体新生态
  17. 使用cmd命令导入导出数据库
  18. 抹掉iPhone会有怎样后果 他人还能用吗
  19. C++的运算符重载 --http://blog.csdn.net/zgl_dm/article/details/1767201
  20. 2022-10-20 Linux自带LED灯驱动gpio-leds 心跳呼吸灯heartbeat、定时器timer的使用

热门文章

  1. Codeforces 1254C/1255F Point Ordering (交互题)
  2. unity 脚本中 调用另一个脚本_Unity 2019.4 脚本生命周期
  3. linux ruby gem 安装目录,linux 安装 gem
  4. word文档基本编辑功能_word基本编辑的方法?word基本知识文件操作和文本编辑?...
  5. mysql 查数据 default无效_导入mysql数据的时候提示Field * doesn't have a default value解决方法...
  6. r语言和metawin_如何创建R的HelloWorld包(Windows或Linux环境下)
  7. 2020-10-11 LMI线性矩阵不等式的一些知识
  8. 最短路问题之Bellman-ford算法
  9. linux查看系统的日志的一些实用操作
  10. Qt5应用改变窗口大小时出现黑影