悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU-2191)
Problem Description
急!灾区的食物依然短缺!
为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。
请问:你用有限的资金最多能采购多少公斤粮食呢?后记:
人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。
月有阴晴圆缺,人有旦夕祸福,未来对于我们而言是一个未知数。那么,我们要做的就应该是珍惜现在,感恩生活——
感谢父母,他们给予我们生命,抚养我们成人;
感谢老师,他们授给我们知识,教我们做人
感谢朋友,他们让我们感受到世界的温暖;
感谢对手,他们令我们不断进取、努力。
同样,我们也要感谢痛苦与艰辛带给我们的财富~Input
输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1<=m<=100),分别表示经费的金额和大米的种类,然后是m行数据,每行包含3个数p,h和c(1<=p<=20,1<=h<=200,1<=c<=20),分别表示每袋的价格、每袋的重量以及对应种类大米的袋数。
Output
对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。
Sample Input
1
8 2
2 100 4
4 100 2Sample Output
400
思路:n 元 m 种米,每种米的价格是 p[i],重量是 h[i],袋数是 c[i]
多重背包,其中 n 元代表背包容量,m 代表物品种类数,价格 p[i] 代表第 i 种物品重量,重量 h[i] 代表物品价值,袋数 c[i] 代表物品数量
那么问题就转为:在背包容量为 n 的情况下,有 m 种物品,每种物品的重量是 p[i],价值是 h[i],个数是 c[i],求最大价值
Source Program
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define PI acos(-1.0)
#define E 1e-9
#define INF 0x3f3f3f3f
#define LL long long
const int MOD=10007;
const int N=2000+5;
const int dx[]= {-1,1,0,0};
const int dy[]= {0,0,-1,1};
using namespace std;
int n,m;
int p[N],h[N],c[N];
int f[N];
void MultiplePack(int cost,int weight,int num){for(int j=n;j>=0;j--)for(int k=0;k<=num;k++)if(j-k*weight>=0)f[j]=max(f[j],f[j-k*weight]+k*cost);
}
int main(){int t;cin>>t;while(t--){memset(f,0,sizeof(f));cin>>n>>m;for(int i=1;i<=m;i++)cin>>p[i]>>h[i]>>c[i];for(int i=1;i<=m;i++)MultiplePack(h[i],p[i],c[i]);cout<<f[n]<<endl;}return 0;
}
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU-2191)相关推荐
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (背包问题)
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/ ...
- HDU2191——悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- [HDU 2191] 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(特殊01背包)
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 HDU - 2191 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市 ...
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 dp
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
这里写链接内容 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- HDU - 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 HDU - 2191 AYIT-2021 609暑假集训第一周下 记忆化搜索和背包 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的 ...
- hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 题意:标准的多重背包,由于数据量较小,可转化为0-1背包. /*悼念512汶川大地震遇难同胞-- ...
- 杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活
题目大意 原题链接:HDOJ 2191 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 解题思路 我本来想用贪心算法的,可是我写好算法,运行几遍试过了是ok的,只是不给AC,我想了好久,脑壳都快头 ...
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(hdoj--2191--多重背包)
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
最新文章
- 斯坦福2019 AI年度报告出炉 - 700亿美元投入AI
- vscode使用教程python-用 VSCode 编写 python
- ibatis时间比较大小
- HTML URL 统一资源定位器
- 如何查看apache,php,mysql的编译参数
- php检测字符长度(中文)
- 文件系统(01):基于SpringBoot框架,管理Excel和PDF文件类型
- php 截取www后面的目录,php-如何从字符串路径中获取最后一个目录
- c语言输入y循环n结束,大佬们帮帮忙 帮我改改 怎样能在输入Y后 再次进行for循环...
- 加一条平行于y轴的直线_为什么龙门式桁架机器人采用V型导向滚轮直线导轨
- 夏至日计算公式及“三伏”的日期算法问题
- 用PS去掉图片中的文字
- 网店宝贝复制专家操作手册
- 时间序列模型c语言,时间序列分析步骤及sas代码
- 特立独行的幸福(25分)Python
- 达人实测:天玑1000和骁龙765g哪个好-天玑1000和骁龙765g对比跑分
- 华为云WeLink端云协同会议是什么?
- 薇电子学与计算机好中吗,微电子学与计算机是什么级别的期刊
- jssdk 获取微信收货地址_微信JSSDK获取当前地理位置信息
- 炫‘库’行动-人大金仓有奖征文-挑战国产数据库金仓上k8s(二)