本文主要是介绍KY139 毕业bg,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背包问题,不过时间要从后往前考虑
ti
#include<bits/stdc++.h>using namespace std;struct bg{int h, t1, t2;
}m[35];bool cmp(bg a, bg b){return a.t2 < b.t2;
}int k;
int nb;
int dp[1010];int main()
{while(cin>>nb){if(nb == -1) break;memset(dp, 0, sizeof(dp));memset(m, 0, sizeof m);int maxt = -1;for(int i = 0; i < nb; i ++ ){cin>>m[i].h>>m[i].t1>>m[i].t2;maxt = max(maxt, m[i].t2);}//cout<<maxt<<endl;sort(m, m + nb, cmp);int res = -1;for(int i = 0; i < nb; i ++ ){ //活动 for(int j = m[i].t2; j >= 0; j -- ){ //时间 if(j - m[i].t1 >= 0){ //这个活动能去 dp[j] = max(dp[j], dp[j - m[i].t1] + m[i].h); res = max(res, dp[j]); }}}cout<<res<<endl;}return 0;
}
这篇关于KY139 毕业bg的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!