#includeint Max(int n1,int n2){ if(n1>n2){ return n1; } return n2; } int main(){ int n=6,c=12; int value[]={0,6,3,5,4,3,6}; int weight[]={0,4,6,2,2,5,3}; int m[c+1]; for(int i=0;i<=c;i++){ m[i]=0; } for(int i=1;i<=n;i++){ for(int j=c;j>=weight[i];j--){ m[j]=Max(m[j],m[j-weight[i]]+value[i]); } } printf("背包物品总价值最大为:%dn",m[c]); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)