zoukankan      html  css  js  c++  java
  • 83.(01背包)CYD刷题

    3130 CYD刷题

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond
    题目描述 Description

    下午,CYD要刷题了,已知CYD有N题可刷,但他只有M分钟的时间,而且他的智慧值为Q,也就是说他只能做出难度小于等于Q的题目。已知每题可得积分Ai,需花费时间Bi,难度为Ci,问CYD最多可得多少积分。

    输入描述 Input Description

    Q

    Ai Bi Ci

    输出描述 Output Description

    可得最多积分

    样例输入 Sample Input

    20  10

    20 3 7

    30 7 9

    30 1 11

    20 17 6

    样例输出 Sample Output

    50

    数据范围及提示 Data Size & Hint

    【样例解释】

        选第1题和第2题

    【数据范围】

       对于33%的数据  N≤20 M≤100 Q≤20

       对于100%的数据 N≤50 M≤500 Q≤100 AiBiCi≤300

    分类标签 Tags 点此展开 

    代码:
    #include
    using namespace std;
    #include
    #include
    const int INFn=51,INFm=501;//n ti m shi jian
    int f[INFn][INFm],tim[INFn],jf[INFn],n,m,q;
    void input()
    {
    scanf("%d%d%d",&n,&m,&q);
    int t=0,a,b,c;
    for(int i=1;i<=n;++i)
    {
    scanf("%d%d%d",&a,&b,&c);//jf ,tim ,q
    if(c<=q)
    {
    ++t;
    jf[t]=a;
    tim[t]=b;
    }
    }
    n=t;
    }
    int main()
    {
    input();
    for(int i=1;i<=n;++i)//ti
     for(int j=m;j>=1;--j)//time
     {
      if(j>=tim[i]) f[i][j]=max(f[i-1][j],f[i-1][j-tim[i]]+jf[i]);
      else f[i][j]=f[i-1][j];
     }
     printf("%d ",f[n][m]);
    return 0;
    }
  • 相关阅读:
    codevs1028 花店橱窗布置
    bzoj1497 [NOI2006]最大获利 (最大闭合权图)
    扩展欧几里得算法总结
    codevs1033 蚯蚓的游戏问题
    bzoj1001狼抓兔子
    CSS3中的选择器
    LESS快速入门
    怎样让老浏览器兼容html5新标签
    http与https差异
    css3中的radius
  • 原文地址:https://www.cnblogs.com/c1299401227/p/5370736.html
Copyright © 2011-2022 走看看