HDU2602:Bone Collector(01背包)
来源:互联网 发布:ubuntu有什么用 编辑:程序博客网 时间:2024/05/17 06:51
Problem Description
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …
The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the maximum of the total value the bone collector can get ?
The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the maximum of the total value the bone collector can get ?
Input
The first line contain a integer T , the number of cases.
Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third line contain N integers representing the volume of each bone.
Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third line contain N integers representing the volume of each bone.
Output
One integer per line representing the maximum of the total value (this number will be less than 231).
Sample Input
15 101 2 3 4 55 4 3 2 1
Sample Output
14
01背包裸题
#include<stdio.h>#include<algorithm>using namespace std;int dp[1010], c[1010], v[1010];int main(){int t, n, w;scanf("%d", &t);while (t--){scanf("%d%d", &n, &w);for (int i = 1; i <= n; i++)scanf("%d", &v[i]);for (int i = 1; i <= n; i++)scanf("%d", &c[i]);memset(dp, 0, sizeof(dp));for (int i = 1; i <= n; i++){for (int j = w; j >= c[i]; j--)dp[j] = max(dp[j], dp[j - c[i]] + v[i]);}printf("%d\n", dp[w]);}return 0;}
0 0
- Bone Collector hdu2602 01背包
- HDU2602:Bone Collector(01背包)
- hdu2602 bone collector 01背包
- hdu2602 Bone Collector (01背包)
- hdu2602 Bone Collector(01背包)
- HDU2602 Bone Collector 【01背包】
- HDU2602:Bone Collector(01背包)
- hdu2602 01背包Bone Collector
- hdu2602 Bone Collector--01背包
- HDU2602 Bone Collector(01背包)
- hdu2602 Bone Collector(背包)
- hdu2602 Bone Collector(01背包)
- hdu2602 Bone Collector (01背包)
- hdu2602-Bone Collector(01背包模版题)
- HDU2602-Bone Collector-01背包(模板题)
- hdu2602 Bone Collector (01背包)
- hdu2602 Bone Collector(01背包+入门)
- 【HDU2602】Bone Collector(01背包入门级)
- struts2和json的整合
- INADDRANY
- 《炒股的智慧》读后感
- 【老李的模拟赛】【#8	】【2014-08-14|15】
- 如何在Windows平台上创建以点(.)开头的文件名
- HDU2602:Bone Collector(01背包)
- hdu 2473 Junk-Mail Filter(删除节点操作的并查集)
- php in_arry() 用法
- STDIN_FILENO与stdin区别
- jQuery Mobile 组件 之 表单
- 几种经典的网络服务器架构模型的分析与比较
- jQuery学习笔记之十三------Ajax进阶
- ffmpeg 视频转换、图片批量提取
- MyEclipse2013中web项目改名后部署路径不变的解决方法