zoukankan      html  css  js  c++  java
  • 多重费用的完全背包 HDU2159

     1 #include <iostream>
     2 #include <cstring>
     3 
     4 using namespace std;
     5 
     6 int w1[110];
     7 int w2[110];
     8 int v[110];
     9 int dp[110][110];
    10 
    11 int main()
    12 {
    13     int n,m,k,s;
    14     while(cin>>n>>m>>k>>s)
    15     {
    16         for(int i=0;i<k;i++)
    17         {
    18             cin>>v[i]>>w1[i];
    19             w2[i]=1;
    20         }
    21         memset(dp,0,sizeof(dp));
    22         for(int i=0;i<k;i++)
    23         {
    24             for(int j=w1[i];j<=m;j++)
    25             {
    26                 for(int t=w2[i];t<=s;t++)
    27                 {
    28                     dp[j][t]=max(dp[j][t],dp[j-w1[i]][t-w2[i]]+v[i]);
    29                 }
    30             }
    31         }
    32         int i;
    33         int flag=0;
    34         for(i=0;i<=m;i++)
    35         {
    36             for(int t=0;t<=s;t++)
    37             {
    38                 if(dp[i][t]>=n)
    39                 {
    40                     flag=1;
    41                     break;
    42                 }
    43             }
    44             if(flag)
    45                 break;
    46         }
    47         if(flag==0)
    48             cout<<-1<<endl;
    49         else
    50             cout<<m-i<<endl;
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    yii2之依赖注入与依赖注入容器
    MySQL查询性能优化
    MySQL索引(2)
    go es
    es数据操作入门
    es环境搭建
    gRPC接入etcd
    etcd简单介绍
    Go调用NSQ简单实践
    NSQ快速入门实践
  • 原文地址:https://www.cnblogs.com/wsruning/p/4669409.html
Copyright © 2011-2022 走看看