AcWing 4. 多重背包问题

朴素 

数据范围小

//数据范围小 
#include<iostream>
#include<algorithm>
using namespace std ;
const int N=110;
int n,m;
int v[N],w[N],s[N];
int f[N][N];
int main() {
    cin>>n>>m;
    for(int i=1; i<=n; i++)
        cin>>v[i]>>w[i]>>s[i];
    for(int i=1; i<=n; i++)
        for(int j=0; j<=m; j++)
            for(int k=0; k<=s[i]&&k*v[i]<=j; k++)
                f[i][j] = max(f[i][j], f[i-1][j - v[i]*k] + w[i]*k);
    cout<<f[n][m]<<endl;
}

猜你喜欢

转载自www.cnblogs.com/QingyuYYYYY/p/11873180.html
今日推荐