博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
0/1背包问题
阅读量:5763 次
发布时间:2019-06-18

本文共 1286 字,大约阅读时间需要 4 分钟。

代码1:

1 #include 
2 #include
3 using namespace std; 4 const int MIN=0x80000000; 5 const int N=3; //物品数量 6 const int V=5; //背包容量 7 int f[N+1][V+1]; 8 9 int Package(int *W,int *C,int N,int V);10 void main(int argc,char *argv[])11 {12 int W[4]={
0,7,5,8}; //物品权重13 int C[4]={
0,2,3,4}; //物品大小14 int result=Package(W,C,N,V);15 if(result>0)16 {17 cout<
f[i-1][j-C[i]]+W[i])?f[i-1][j]:(f[i-1][j-C[i]]+W[i]);48 cout<<"f["<
<<"]["<
<<"]="<
<
View Code

代码2:

1 代码2 2  3 #include 
4 #include
5 using namespace std; 6 const int MIN=0x80000000; 7 const int N=3; //物品数量 8 const int V=5; //背包容量 9 int f[V+1];10 11 int Package(int *W,int *C,int N,int V);12 void main(int argc,char *argv[])13 {14 int W[4]={
0,7,5,8}; //物品权重15 int C[4]={
0,2,3,4}; //物品大小16 int result=Package(W,C,N,V);17 if(result>0)18 {19 cout<
=C[i];j--) //注意此处与解法一是顺序不同的,弄清原因37 {38 f[j]=(f[j]>f[j-C[i]]+W[i])?f[j]:(f[j-C[i]]+W[i]);39 cout<<"f["<
<<"]["<
<<"]="<
<
View Code

 

转载于:https://www.cnblogs.com/david-wang/p/4340258.html

你可能感兴趣的文章