Saving HDU

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 5245    Accepted Submission(s): 2397
Problem Description
话说上回讲到海东集团面临内外交困,公司的元老也仅仅剩下XHD夫妇二人了。显然,作为多年拼搏的商人,XHD不会坐以待毙的。

  一天,当他正在苦思冥想解困良策的时候,突然想到了自己的传家宝,那是公司成立的时候,父亲作为贺礼送来的一个锦囊,徐父当时交代,不到万不得已的时候,不要打开它。“如今不正是最须要的时候吗?”,一边想,XHD一边找到了这个精心保管的锦囊,打开一看,里面仅仅有一句话“杭城北麓千人洞有宝”。

  二话不说,XHD拿起一个大口袋就出发了,这个千人洞他是知道的,小的时候,爸爸以前带他来过这个隐蔽的路口,并告诉他,这是千人洞。他如今才明确爸爸当初这句话的含义。

  虽然有点印象,XHD还是花了非常大的精力才找到这个异常隐蔽的洞口,走进一看,差点儿惊呆了,真的是眼花缭乱!只是虽然宝贝的种类不少,可是每种宝贝的量并不多,当然,每种宝贝单位体积的价格也不一样,为了拯救HDU,如今请你帮忙尽快计算出来XHD最多能带回多少价值的宝贝?(如果宝贝能够切割,切割后的价值和相应的体积成正比)
 
Input
输入包括多个測试实例,每一个实例的第一行是两个整数v和n(v,n<100),分别表示口袋的容量和宝贝的种类,接着的n行每行包括2个整数pi和mi(0<pi,mi<10),分别表示某种宝贝的单位价格和相应的体积,v为0的时候结束输入。
 
Output
对于每一个測试实例,请输出XHD最多能取回多少价值的宝贝,每一个实例的输出占一行。
 
Sample Input
2 2
3 1
2 3
0
 
Sample Output
5

water

#include <stdio.h>
#include <algorithm>
#define maxn 102
using std::sort; struct Node{
int w, v;
} arr[maxn]; bool cmp(Node a, Node b){
return a.w > b.w;
} int main()
{
int v, n, i, ans;
while(scanf("%d", &v), v){
scanf("%d", &n);
for(i = 0; i < n; ++i)
scanf("%d%d", &arr[i].w, &arr[i].v);
sort(arr, arr + n, cmp);
ans = 0;
for(i = 0; i < n; ++i)
if(arr[i].v <= v){
ans += arr[i].v * arr[i].w;
v -= arr[i].v;
}else {
ans += v * arr[i].w; break;
}
printf("%d\n", ans);
}
return 0;
}

HDU2111 Saving HDU 【贪心】的更多相关文章

  1. HDOJ.2111 Saving HDU (贪心)

    Saving HDU 点我挑战题目 题意分析 给出来背包容量v和物品数量n,接下来n行分别给出每个商品单位体积的价值和物品总共的体积(注意是单位体积,不是每个物品).求出最多能装多少价值的物品. 典型 ...

  2. HDU.2111 Saving HDU(贪心)

    题目来源:Saving HDU 题意分析: XHD有个容量为v的口袋,有n个宝贝,每种宝贝的价值不一样,每种宝贝单位体积的价格也不一样,宝贝可以分割,分割后的价值和对应的体积成正比.求XHD最多能取回 ...

  3. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. Saving HDU (贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2111 好久不刷题,拿到水题切了切,,,,,题意刚开始都没有理解,,,,真是弱了,,,, 简单贪心,,, ...

  5. Saving HDU(hdu2111,贪心)

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. (贪心部分背包问题)Saving HDU HDU2111

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. HDU 2111 Saving HDU【贪心】

    解题思路:排序后贪心,和fatmouse's  trade 类似 Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: ...

  8. HDU 2111:Saving HDU(贪心)

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. hdoj 2111 Saving HDU

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

随机推荐

  1. Tomcat全攻略

    内容: 一:简单介绍 二:安装及配置 三:应用 四:综述 參考资料 关于作者 相关内容: TCP/IP 介绍 TCP/IP 介绍 !== End Related dW Content Area --& ...

  2. C#高级编程第1章-.NET体系结构

    内容提要: (1)编译和运行面向对象.NET代码 (2)IL/MSIL(Microsoft Intermediate Language)中间语言的优点 (3)值类型与引用类型 (4)数据类型化 (5) ...

  3. 初学Java ssh之Spring 第四篇

    今天我来学习学习Spring中Bean. 在Spring中原来还有<beans.../>标签啊,它相当于<bean.../>标签的老爸,老爸可以有很多个儿子,但是老爸只有一个哦 ...

  4. 数位dp整理

    数位dp的思想就在于递归,记录当前的某一个唯一状态,依次递归下去,要注意唯一. 数位dp常设的状态有当前位置,上一数字,是否具有前导零,是否有限制. 1.CodeForces 55DBeautiful ...

  5. (原)ubuntu下使用ftp软件

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6121663.html 参考网址: http://tieba.baidu.com/p/387426074 ...

  6. [Leetcode][001] Two Sum (Java)

    题目在这里: https://leetcode.com/problems/two-sum/ [标签]Array; Hash Table [个人分析] 这个题目,我感觉也可以算是空间换时间的例子.如果是 ...

  7. 获取aplicationContext对象,从而获取任何注入的对象

    在Servlet中 方法一: 从ServletContext 取出 Spring容器上下文 ApplicationContext applicationContext = (ApplicationCo ...

  8. PyQt4环境搭建与使用

    初次使用python写图形界面的工具时,用了Tkinter.wxpython,都是需要手写界面布局的,看api看的头疼觉得这样写太费劲了,于是搜了下看看别人都是怎样写python图形界面的. 在论坛上 ...

  9. 安卓仿制新浪微博(一)之OAuth2授权接口

    这里需要用到请求授权(authorize)以及获取授权(access_token) 第一步: 将新浪的sdk放在src/libs下面 二: //创建方法实现authorize public void ...

  10. ASP.NET WEB API 如何使用基于Post的方式传递多个值(二)

    前面我曾经写过一篇文章,是基于HttpContext的请求上下文中读取表单参数,其实还可以将其单独拆分出来. 基于Filter的方式 获取表单值:(核心代码)   public void OnActi ...