讨论 / 动态规划的思想
kitsuha 2018-05-12 20:34:09
点我顶贴 收藏 删除
#include<iostream>

#include<cstdio>

#include<cstdlib>

int f[30001]={0};

using namespace std;

int main(){

int N,m;

cin>>N>>m;

int v[26]={0},p[26]={0};

for(int i=1;i<=m;i++){

cin>>v[i]>>p[i];

p[i]=p[i]*v[i];

}

for(int i=1;i<=m;i++){

for(int j=N;j>=v[i];j--){

f[j]=max(f[j], f[j-v[i]]+p[i]);

}

}

cout<<f[N]<<endl;

return 0;

}

#1 kitsuha@2018-05-12 20:34:36
回复 删除
0-1背包问题的动态规划解法
查看更多回复
提交回复