#include <iostream>
using namespace std;
int weight[]={2,3,4,5};
int v[]={3,4,5,6};
int dp[100];
int num=4;
int DP(int n)
{
for(int i=0;i<num;++i)
{
for(int w=n;w>=0;--w)
{
if(weight[i]>w)
break;
dp[w]=max(dp[w],dp[w-weight[i]]+v[i]);
}
}
for(int t=0.;t<=n;++t)
cout<<dp[t]<<" ";
cout<<endl;
return dp[n];
}
int main()
{
int n;
cin>>n;
cout<<DP(n);
system("pause");
}
动态规划之01背包
最新推荐文章于 2022-05-05 11:53:07 发布