洛谷P1910 L国的战斗之间谍

 1 //二维费用01背包
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 const int maxn=105;
 5 const int maxv1=1005;
 6 const int maxv2=1005;
 7 int v1[maxn],v2[maxn],w[maxn],n,v1_tot,v2_tot,f[maxv1][maxv2];
 8 int main()
 9 {
10     scanf("%d%d%d",&n,&v1_tot,&v2_tot);
11     for(int i=1;i<=n;++i) scanf("%d%d%d",&w[i],&v1[i],&v2[i]);
12     for(int i=1;i<=n;++i)
13         for(int j=v1_tot;j>=v1[i];--j)
14             for(int k=v2_tot;k>=v2[i];--k)
15                 f[j][k]=max(f[j][k],f[j-v1[i]][k-v2[i]]+w[i]);
16     printf("%d",f[v1_tot][v2_tot]);
17     return 0;
18 }
原文地址:https://www.cnblogs.com/yu-xing/p/10313864.html