题解 P1855 【榨取kkksc03】

· · 题解

其实这道题很简单的呀(题解 By Plue Jheng/InfoEoR)

在完成这道题之前,首先要保证:

那就很简单那!

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,M,T,dp[1010][1010];
int m[1010],t[1010];
int main()
{
    scanf("%d%d%d",&n,&M,&T);
    for(int i=1;i<=n;i++)
    {
        //仅仅只是多了一维而已 
        scanf("%d%d",&m[i],&t[i]);
        for(int j=M;j>=m[i];j--)
        for(int k=T;k>=t[i];k--)
        {
            dp[j][k]=max(dp[j][k],dp[j-m[i]][k-t[i]]+1);
        }
    }
    printf("%d\n",dp[M][T]);
}