01背包问题

#include<iostream>
#include<algorithm>
using namespace std;
int m,n,w[31],c[31],f[31][201],p;
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++) cin>>w[i]>>c[i];
    for(int i=1;i<=n;i++){
        for(int v=m;v>0;v--){
            if(w[i]<=v) f[i][v]=max(f[i-1][v],f[i-1][v-w[i]]+c[i]);
            else f[i][v]=f[i-1][v];
        }
    }
    cout<<f[n][m];
    return 0;
}

一道经典的01背包qwq,

莫得题目(其实就相当于是板子!),

可能是我太菜了233...

原文地址:https://www.cnblogs.com/sxy2004/p/12219196.html