资源简介

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

评论

共有 条评论