資源簡介
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源碼
評論
共有 條評論