概述
题解:本题主要考查01背包的变形问题,主要是这是有两个01背包一个装money,一个装time。用多一维就可以按模板打了。
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int money[2222],tim[2222],dp[2222][2222];
int n,m,t,i,j,k;
int main()
{
cin>>n>>m>>t;
for(i=1;i<=n;i++)cin>>money[i]>>tim[i];
for(i=1;i<=n;i++)
for(j=m;j>=money[i];j--)
for(k=t;k>=tim[i];k--)
dp[j][k]=max(dp[j][k],dp[j-money[i]][k-tim[i]]+1);
cout<<dp[m][t];
return 0;
}
最后
以上就是坦率橘子为你收集整理的洛谷P1855————背包的全部内容,希望文章能够帮你解决洛谷P1855————背包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复