以後N行每行兩個數Wi和Vi,表示物品的重量和價值
2 3
3 5
4 7
#include<iostream>
#define maxn 5005
using namespace std;
int w[maxn],p[maxn];
int dp[201][maxn];
int main()
{
int n,m;
cin>>n>>m;
int i,j;
for(i=1;i<=n;i++)
cin>>w[i]>>p[i];
for(i=1;i<=n;i++)
{
for(j=0;j<=m;j++)
{
if(j<w[i])
dp[i][j]=dp[i-1][j];
else
dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+p[i]);
}
}
cout<<dp[n][m]<<endl;
}
揹包問題,判斷是不是要放物品以後N行每行兩個數Wi和Vi,表示物品的重量和價值
2 3
3 5
4 7