1 //二维费用背包
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 const int maxn=55;
 5 const int maxv1=405;
 6 const int maxv2=405;
 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",&v1_tot,&v2_tot,&n);
11     for(int i=1;i<=n;++i) scanf("%d%d%d",&v1[i],&v2[i],&w[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 }

 

相关文章:

  • 2021-10-20
  • 2021-12-12
  • 2021-11-08
  • 2021-06-13
  • 2022-12-23
  • 2021-06-12
  • 2021-07-22
  • 2021-10-18
猜你喜欢
  • 2022-02-08
  • 2022-12-23
  • 2021-07-22
  • 2021-07-16
  • 2022-01-30
  • 2022-12-23
相关资源
相似解决方案