资源简介
Description
想去旅游吗?那得先准备背包!
背包用来装旅游物品,现在共n种(n<=50)旅游物品,每种物品都有体积vi,重量wi,数量ci,价值ti (vi,wi,ci和ti都为整数)。
限制体积最多V立方厘米(V<=1000),重量最多W公斤(W<=500)。
请问你如何选择物品,使得带上的物品总价值最大,这个最大总价值为多少?
比如:
物品编号 体积(立方厘米) 重量(公斤) 数量(个) 价值(元)
1 30 3 10 4
2 50 8 10 5
3 10 2 10 2
4 23 5 8 3
5 130 20 5 11
若V为500,W为
代码片段和文件信息
#include
using namespace std;
int v[51]w[51]c[51]t[51];
int f[51][1001][501]={0};
int min(int aint bint c){
int m;
m=a;
if(b if(c return m;
}
int pack(int iint xint y){
int kjmaxtemp;
if(f[i][x][y]!=0) return f[i][x][y];
if(i==1){
if(x/v[1]==0||y/w[1]==0) return 0;
if(x/v[1]>0&&y/w[1]>0) {f[i][x][y]=min(x/v[1]y/w[1]c[1])*t[1]; return f[i][x][y];}
}
i
- 上一篇:c++实现发送syn数据包
- 下一篇:《Linux+C编程从初学到精通》pdf源码
评论
共有 条评论