本文主要是介绍动态规划练习--03(采药),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
描述如果你是辰辰,你能完成这个任务吗?
-
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背包问题。
这篇关于动态规划练习--03(采药)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!