nyoj106背包问题为模板解出杭电oj2187悼念512汶川大地震遇难同胞——老人是真饿了
背包问题
- 描述
-
现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。
- 输入
-
第一行输入一个正整数n(1<=n<=5),表示有n组测试数据;
随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。 - 输出
- 输出每组测试数据中背包内的物品的价值和,每次输出占一行。
- 样例输入
-
1 3 15 5 10 2 8 3 9
- 样例输出
-
65
-
#include<stdio.h> #include<algorithm> #include<string.h> using namespace std; struct act {int p;int num; }arr[100]; bool cmp( act x,act y) {return x.p>y.p;//贪心思想:总是先装有价值的东西 } int main() {int T;scanf("%d",&T);while(T--){int n,m,i;scanf("%d %d",&n,&m);for(i=0;i<n;i++){scanf("%d %d",&arr[i].p,&arr[i].num);}sort(arr,arr+n,cmp);int sum=0;for(i=0;i<n;i++){if(m>arr[i].num)//如果总的容量大于最大价值的总容量 {sum=sum+arr[i].num*arr[i].p;//把最大价值的东西买完; m=m-arr[i].num;//剩下的容量 }else{sum=sum+m*arr[i].p;//如果总的容量小于或等于最大价值的总容量 ,就把背包全都装最大价值的东西 break;//装填完毕跳出循环 }}printf("%d\n",sum);}return 0; }
悼念512汶川大地震遇难同胞——老人是真饿了
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9973 Accepted Submission(s): 4169Problem Description时间:2008年5月16日(震后第4天)
地点:汶川县牛脑寨
人物:羌族老奶奶【转载整理】牛脑寨是一个全村600多人的羌族寨子,震后几天,这里依然能常常听到隆隆的声音,那是对面山上石头不断滑落的声音。在完成整个突击队的抢修移动基站的任务后,我提着相机开始记录这里的受创情况。
突然,我的视线里出现一个羌族老人,这让我无比的震惊,要知道,那是一个极陡的坡,这个佝偻着腰的老人是怎么艰难地爬上来的?她上来做什么?
老人背后是极陡的坡,她只有一只眼睛有依稀的视力,望着满地废墟,她徘徊了很久。家在哪里,她极力地用很低的视力找寻着。她曾经的家就在旁边,但是满目废墟已经让老人看不出来。她举目远眺,期望那里能看到家的一点点痕迹。原来家就在旁边,左手抓住一个房橼,努力让自己站住,地震过去三天了,她第一次回到曾经的家。
一个倒塌的柜子,里面装着一丝希望,老人很吃力地搬动掩盖在柜子上的薪柴。老人找到一把木匠用的刨子,老泪纵横,或许有哪个逝去的亲人是木匠。睹物思人,逝者已矣。
继续找,一把散碎的挂面出现在我的眼前。她颤颤巍巍地捞起铺满灰尘的挂面,再次流出了眼泪......
看着她仔细地把挂面放进胸前的围腰里,我顿然感觉到,这是老人在得到外援之前赖以生存的口粮了,如果不是交通中断,外部救援进不来,老人家又何必拖着80多岁的躯体,强忍失去亲人的痛苦,重新回到这夺取她亲人生命的废墟,寻找这点点挂面?老人是真饿了......
老人佝偻着腰,低声喃喃地念着那两句话“你们走了,我可怎么活”,拿着那对我们身处城市的人们微不足道的挂面,远去了......PS: 拍完这组照片后我才知道,5月14号军用运输飞机第一次给汶川空投救援物资就掉在牛脑寨,受灾的村民们没有占为己有,而是汗流浃背地走了两个小时背到山下的县城交给政府。
--------------------------------------------------------------------------------------------------------对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食。现在假设下拨了一定数量的救灾经费要去市场采购大米(散装)。如果市场有m种大米,各种大米的单价和重量已知,请问,为了满足更多灾民的需求,最多能采购多少重量的大米呢?
Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(0<n<=1000,0<m<=1000),分别表示经费的金额和大米的种类,然后是m行数据,每行包含2个整数p和h(1<=p<=25,1<=h<=100),分别表示单价和对应大米的重量。Output对于每组测试数据,请输出能够购买大米的最多重量(你可以假设经费买不光所有的大米)。
每个实例的输出占一行,保留2位小数。Sample Input1 7 2 3 3 4 4Sample Output2.33#include<stdio.h> #include<algorithm> using namespace std; struct rice {int p;int num; }; bool cmp(rice a,rice b) {return a.p<b.p;//问题是固定的钱买最多东西,要多买便宜的 } int main() {int T;double sum; //注意 rice str[20000];scanf("%d",&T);while(T--){int n,m,i,j;scanf("%d %d",&n,&m);sum=0;for(i=0;i<m;i++){scanf("%d",&str[i].p);scanf("%d",&str[i].num);}sort(str,str+m,cmp);for(i=0;i<m;i++){if(n>str[i].p*str[i].num){ sum=sum+str[i].num;n=n-str[i].p*str[i].num;}else{sum=sum+n*1.0/str[i].p;//注意 break;}}printf("%.2lf\n",sum);}return 0; }
nyoj106背包问题为模板解出杭电oj2187悼念512汶川大地震遇难同胞——老人是真饿了相关推荐
- 杭电--2187 悼念512汶川大地震遇难同胞——老人是真饿了(贪心)
本题连接:点击打开链接 悼念512汶川大地震遇难同胞--老人是真饿了 对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食.现在假设下拨了一定数量的救 ...
- 杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
悼念512汶川大地震遇难同胞--老人是真饿了 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- HD 2187 悼念512汶川大地震遇难同胞——老人是真饿了 【背包问题】
悼念512汶川大地震遇难同胞--老人是真饿了 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- 杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活
题目大意 原题链接:HDOJ 2191 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 解题思路 我本来想用贪心算法的,可是我写好算法,运行几遍试过了是ok的,只是不给AC,我想了好久,脑壳都快头 ...
- hdu 2191 悼念512汶川大地震遇难同胞 【多重背包】(模板题)
题目链接:https://vjudge.net/problem/HDU-2191 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 ...
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (背包问题)
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/ ...
- 杭电2186:悼念512汶川大地震遇难同胞——一定要记住我爱你
Problem Description 当抢救人员发现她的时候,她已经死了,是被垮塌下来的房子压死的,透过那一堆废墟的的间隙可以看到她死亡的姿势,双膝跪着,整个上身向前匍匐着,双手扶着地支撑着身体,有 ...
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包问题)2191 HDU
Problem Description 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品 ...
- 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)
杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 传送门 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 矩阵快速幂模板 Count Problem Descript ...
最新文章
- 视觉SLAM学习--图像匹配(CVPR2020 Tutorial)
- 按部就班——图解配置IIS5的SSL安全访问
- mysql汉字占几个字符_mysql和oracle的一个汉字占几个字符
- Oracle提高SQL查询效率where语句条件的先后次序
- 一文掌握Redisson分布式锁原理|干货推荐
- (三)cmockery中的消息打印以及可变参数相关总结
- 这些 iOS 面试基础题目,你都深入了解吗?
- minitab学习系列(1)--二项式分布过程能力分析
- java 合并两个有序链表
- java中 什么意思?比如130
- SEO入门:网站站内优化流程
- python与sql的区别_2020年入门数据分析选择Python还是SQL?七个常用操作对比!
- linux mysql5.7免安装版配置_MySQL5.7免安装版配置
- Html id 选择器
- 都说要计算卡路里,但到底要怎么算?
- hp计算机如何进入启动界面,BIOS使用之HP BIOS篇-惠普电脑怎么进入bios
- 最佳均线系统操作依据
- documents4j 进行word 转 pdf
- python编辑器编程猫_编程猫Python编辑器最新下载_编程猫Python编辑器官方正式版v1.2.0_点点游...
- C语言用户自定义标识符的命名规则,c语言中用户标识符的命名规则介绍
热门文章
- Texpad 1.8.15 (529) for Mac 中文版 专业的LaTeX的编辑器
- 麦克利兰的成就动机理论(转)
- 伽利略变换的极限式证明及推论
- 毕业一年的计科人,聊一下毕业一年的前端开发心酸历程(很学zha的那种,不喜就走)
- 大数据ClickHouse(二十):ClickHouse 可视化工具操作
- linux找出1 100被3整除的数,linux中计算100以内能被3整除的数之和,且不超过1000
- 【十万个BUG】npx mrm lint-staged报错
- 用它来开发“在线Excel”系统,竟如此简单!
- 【技巧收集】MATLAB乱码问题的解决
- 一个项目经理必备的素质