zoukankan      html  css  js  c++  java
  • HDU Flowers 完全背包

    Flowers

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2709    Accepted Submission(s): 1811

    Problem Description
    As you know, Gardon trid hard for his love-letter, and now he's spending too much time on choosing flowers for Angel.
    When Gardon entered the flower shop, he was frightened and dazed by thousands kinds of flowers. 
    "How can I choose!" Gardon shouted out.
    Finally, Gardon-- a no-EQ man decided to buy flowers as many as possible.
    Can you compute how many flowers Gardon can buy at most?
     
    Input
    Input have serveral test cases. Each case has two lines.
    The first line contains two integers: N and M. M means how much money Gardon have.
    N integers following, means the prices of differnt flowers.
     
    Output
    For each case, print how many flowers Gardon can buy at most.
    You may firmly assume the number of each kind of flower is enough.
     
    Sample Input
    2 5 2 3
     
    Sample Output
    2
    Hint
    Hint
    Gardon can buy 5=2+3,at most 2 flower, but he cannot buy 3 flower with 5 yuan.
     
    Author
    DYGG
     
    Source
     
    Recommend
    linle
     
    裸完全背包,拥有的钱为背包容量M,每一枝花的花费为1,价值价值为w[i].
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<stdlib.h>
     4 #include<algorithm>
     5 using namespace std;
     6 int a[1000000];
     7 int dp[1000000];
     8 int main()
     9 {
    10     int n,m;
    11     while(scanf("%d %d",&n,&m)!=EOF)
    12     {
    13         memset(dp,0,sizeof(dp));
    14         for(int i=0;i<n;i++)
    15             scanf("%d",&a[i]);
    16         for(int i=0;i<n;i++)
    17             for(int j=a[i];j<=m;j++)
    18                 dp[j]=max(dp[j],dp[j-a[i]]+1);
    19         printf("%d
    ",dp[m]);
    20     }
    21     return 0;
    22 }
    View Code
  • 相关阅读:
    10A:子串计算
    09I:鸡蛋的硬度
    09H:数字组合
    09G:登山
    09F:股票买卖
    09E-计算字符串距离
    09D-最大上升子序列和
    09C-全排列
    02C-垃圾炸弹
    【c#基础】vs2019设置高级选项
  • 原文地址:https://www.cnblogs.com/clliff/p/3888900.html
Copyright © 2011-2022 走看看