标签:clu ios stream lang turn lan string end 背包问题
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
/**
* 重w 价v
* 2 3
* 3 4
* 4 5
* 5 8
* 9 10
*
* 背包容量 20
*
*/
#define N 6
#define W 21
int B[N][W]={0};
int w[6]={0,2,3,4,5,9};
int v[6]={0,3,4,5,8,10};
void knapsack()
{
for(int k=1;k<N;k++) //第几件
{
for(int c=1;c<W;c++) // c 容量
{
if(w[k]>c)
{
B[k][c]=B[k-1][c];
}
else
{
int v1=B[k-1][c-w[k]]+v[k];
int v2=B[k-1][c];
if(v1>v2) {
B[k][c]=v1;
}
else
{
B[k][c]=v2;
}
}
}
}
}
int main()
{
knapsack();
cout<<B[5][20]<<endl;
return 0;
}
标签:clu ios stream lang turn lan string end 背包问题
原文地址:https://www.cnblogs.com/lkfsblogs/p/12641599.html