AcWing 1022. 宠物小精灵之收服 二维费用背包

#include<iostream>
using namespace std ;
const int N=1010;
int f[N][N];
int V1,V2,n;
int main() {
    cin>>V1>>V2>>n;
    for(int i=1; i<=n; i++) {
        int v1,v2;
        cin>>v1>>v2;
        for(int j=V1; j>=v1; j--)
            for(int k=V2-1; k>=v2; k--)
                f[j][k]=max(f[j][k],f[j-v1][k-v2]+1);
    }
    cout<<f[V1][V2-1]<<" ";
    int k=V2-1;
    while(k>0&&f[V1][k-1]==f[V1][V2-1]) k--;
    cout<<V2-k<<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11975339.html