Bone Collector——01背包
来源:互联网 发布:苹果cms火车头采集规则 编辑:程序博客网 时间:2024/06/08 11:12
Bone Collector
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription
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 2 31).
Sample Input
15 101 2 3 4 55 4 3 2 1
Sample Output
14
一个体积为V的背包,用来装体积为volume,价值为value的骨头,问如何装能够让背包里的价值最大。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <algorithm>#include <iostream>using namespace std;int N,V;int value[1009];int volume[1009];int f[1001][1001];int fmax(int i,int j){ if(i > j) return i; else return j;}int main(){ int t,i,j,k; scanf("%d",&t); while(t--) { memset(f,0,sizeof(f)); scanf("%d%d",&N,&V); for(i = 1; i <= N; i++) { scanf("%d",&value[i]); } for(i = 1; i <= N; i++) { scanf("%d",&volume[i]); } for(i = 1;i <= N;i++) { for(j = 0;j <= V;j++) { if(j >= volume[i]) { f[i][j] = fmax(f[i-1][j],f[i-1][j-volume[i]]+value[i]); } else f[i][j] = f[i-1][j]; } } printf("%d\n",f[N][V]); } return 0;}
0 0
- Bone Collector——01背包
- Bone Collector——01背包
- 01背包——Bone Collector
- Bone Collector(01背包)
- Bone Collector 01背包
- Bone Collector -01背包
- 01背包,Bone Collector
- 【01背包】Bone Collector
- 【01背包】Bone Collector
- 01背包问题之HDU——2602 Bone Collector
- HDU 2602 —— Bone Collector 裸01背包
- HDU——2602Bone Collector(01背包)
- HDU 2602 Bone Collector——01背包
- HDU2602—Bone Collector(背包问题)
- Bone Collector(01背包)
- 【hdu】 Bone Collector 01背包
- Bone Collector hdu2602 01背包
- HDU2602:Bone Collector(01背包)
- 使用正则表达式,从网站上获取指定数据
- 【夯实基础】Spring在ssh中的作用
- Linux下常用的shell命令记录
- 位操作的练习
- 关于程序性能优化基础的一些个人总结
- Bone Collector——01背包
- 轻松构建Mysql高可用集群系统
- 3个著名加密算法(MD5、RSA、DES)的解析
- CSV文件格式解析器的实现:从字符串Split到FSM
- pthread里面的锁
- php基础学习笔记
- Android学习笔记: Dialog
- Java Swing 动态增加控件
- 字符串替换