题目描述:
描述如果你是辰辰,你能完成这个任务吗?
-
70 3 71 100 69 1 1 2
#include <bits/stdc++.h>
using namespace std;
int main()
{
int w[1002],f[1002],T,m,t[1002],i,j;
cin>>T>>m;
memset(f,0,sizeof(f));
for (i=1;i<=m;i++)
cin>>t[i]>>w[i];
for (i=1;i<=m;i++)
for (j=T;j>=t[i];j--)
f[j]=max(f[j],f[j-t[i]]+w[i]);//放入第i件物品和不放入相比较,取最大值;已优化。也可不优化用二维数组做。
cout<<f[T]<<endl;
return 0;
}
解题感想:简单的01背包问题。