题目连接
- 该题是luogu试炼场的2-17:T5
题目大意
- 知道n个队伍的金钱消耗w[i],金钱消耗t[i];
- 知道金钱的最大值是m,时间的最大值是t;
- 求最多的队伍次数。
题目分析
- 经典的二维01背包问题;
- 和“潜水员”基本是重合的。
思路:二维背包
参考代码
//luogu1855:榨取kkksc03:二维背包
#include<bits/stdc++.h>
using namespace std;
int v[1010],w[1010];
int f[1010][1010];
int n,m,t;
int main()
{
scanf("%d %d %d",&n,&m,&t);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&w[i],&v[i]);
for(int j=m;j>=w[i];j--)
{
for(int k=t;k>=v[i];k--)
{
f[j][k]=max(f[j][k],f[j-w[i]][k-v[i]]+1);
}
}
}
printf("%d",f[m][t]);
return 0;
}