C日常语言实践中小(四)——勇者斗恶龙
勇者斗恶龙
愿你的国有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<cstdio>
#include <iostream>
#include<algorithm>
using 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日常语言实践中小(四)——勇者斗恶龙的更多相关文章
- App架构师实践指南四之性能优化一
App架构师实践指南四之性能优化一 1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...
- 使用函数式语言实践DDD
长期以来我都在实践OOP,进而通过OOP来实现DDD,特别是如何通过面向对象的技巧来建立一个领域模型.OO的一些特性在建立领域模型时显得恰如其分,能否掌握OO的技巧,对创建领域模型有着至关重要的作用. ...
- Java语言基础(四)
Java语言基础(四) 一.基本数据类型(8) byte 8位 使用较少,一般用于网络传输: -128-+127 short 16位 不常用 -32768-+32767 int 32位 常用 ...
- Xamarin.Android开发实践(四)
原文:Xamarin.Android开发实践(四) Xamarin.Android下获取与解析JSON 一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选 ...
- 基于Sql Server 2008的分布式数据库的实践(四)
原文 基于Sql Server 2008的分布式数据库的实践(四) 数据库设计 1.E-R图 2.数据库创建 Win 7 1 create database V3 Win 2003 1 create ...
- 《C++程序设计语言(英文第四版)》【PDF】下载
<C++程序设计语言(英文第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382177 内容简介 本书是C++领域经典的参 ...
- 《程序设计语言——实践之路》【PDF】下载
程序设计语言--实践之路>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 本书在美国大学已有使用了十余年,目前被欧 ...
- 《程序设计语言——实践之路(英文第三版)》【PDF】下载
<程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...
- 《程序设计语言——实践之路【PDF】下载
<程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...
随机推荐
- Git详解之六 Git工具(转)
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...
- 7.MongoDB java CRUD
注意:要增加mongodb对应的jar包 package cn.toto.mongodb; import java.net.UnknownHostException; import org.bson. ...
- [置顶] Guava学习之Immutable集合
Immutable中文意思就是不可变.那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比).尤其当一个 ...
- firebug登陆之数据包分析
登陆之数据包分析 工具: python-urllib2 | firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...
- 获取Google音乐的具体信息(方便对Google音乐批量下载)
Google音乐都是正版音乐, 不像百度所有都是盗链, 并且死链也多. 但有一个麻烦就是要下载Google音乐的时候得一个一个的点击下载链接, 进入下载页面再点"下载", 才干下载 ...
- 理解Javascript的动态语言特性
原文:理解Javascript的动态语言特性 理解Javascript的动态语言特性 Javascript是一种解释性语言,而并非编译性,它不能编译成二进制文件. 理解动态执行与闭包的概念 动态执行: ...
- WPF自定义ListBox样式
<!--竖向--> <Style x:Key="ListBoxStyle1" TargetType="{x:Type ListBox}"> ...
- Python的Tkinter将窗口置顶
root = Tk()root.wm_attributes('-topmost',1)
- 堆栈帧的组织——C/C++内存管理必须掌握
程序栈 说到堆栈帧,你得先说说程序栈. 记忆功能程序堆栈区是支持操作,通常共享堆. 程序栈通常占领内存区域的下部,而堆用的是上部. 程序栈存放栈帧,栈帧有时候也称为活跃记录或活跃帧.栈帧存放函数參数和 ...
- 抢车位中的排名bug(比較使用了无符号数)
昨天把这个发在了qzone,想来还是怪怪的,还是转过来不吧,纯当发现了一个虫子,玩笑一下.只是csdn如今不能贴图,挺郁闷的,原文在http://user.qzone.qq.com/110907073 ...