#include<cstdio>
#include<algorithm>
using namespace std;
int f[1010],w[110],c[110];
int main(){
//freopen("in.txt","r",stdin);
int i,j,t,m;
scanf("%d%d",&t,&m);
for(i=1;i<=m;i++)scanf("%d%d",&w[i],&c[i]);
for(i=1;i<=m;i++)
for(j=t;j>=0;j--)
if(j-w[i]>=0)f[j]=max(f[j],f[j-w[i]]+c[i]);
printf("%d",f[t]);
return 0;
}
总结
无

本文通过C++代码详细解析了0-1背包问题的解决方法,利用动态规划算法,展示了如何在给定容量限制下最大化价值。代码中包含了完整的算法流程,从输入物品的重量和价值到计算最大价值的过程。



1206

被折叠的 条评论
为什么被折叠?



