01背包问题
2023-08-20 11:35:23
发布于:广东
#include<iostream>
using namespace std;
int n,m,w[35],v[35],dp[205];
int main(){
cin>>m>>n;
for(int i=0;i<n;i++){
cin>>w[i]>>v[i];
}
for(int i=0;i<n;i++){//遍历n个物品
for(int j=m;j>=w[i];j--){ //01背包
dp[j] = max(dp[j-w[i]]+v[i],dp[j]);
}
}
cout<<dp[m];
return 0;
}
这里空空如也
有帮助,赞一个