• hdu 2191


    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2191

    题意:中文。512地震默哀。

    mark:dp。多重背包。先做了1171再做这题就很容易了。

    代码:

     1 # include <stdio.h>
     2 # include <string.h>
     3 
     4 
     5 int dp[110] ;
     6 
     7 
     8 int main ()
     9 {
    10     int T, ans, n, m ;
    11     int p, h, c, i, j ;
    12     scanf ("%d", &T) ;
    13     while (T--)
    14     {
    15         scanf ("%d%d", &m, &n) ;
    16         memset (dp, 0, sizeof(dp)) ;
    17         ans = 0 ;
    18         while (n--)
    19         {
    20             scanf ("%d%d%d", &p, &h, &c) ;
    21             for(i = m ; i>=0 ; i--)
    22             {
    23                 for(j = 1 ; j <= c && i+j*p<=m ;j++)
    24                 {
    25                     if (dp[i+j*p] < dp[i]+j*h)
    26                         dp[i+j*p] = dp[i]+j*h ;
    27                     if (dp[i+j*p] > ans) ans = dp[i+j*p]  ;
    28                 }
    29             }
    30         }
    31         printf ("%d\n", ans) ;
    32     }
    33     return 0 ;
    34 }
  • 相关阅读:
    JS中级二
    JS中级一
    JS入门八
    JS入门七
    JS入门六
    JS入门五
    JS入门四
    JS入门三
    JS入门二
    JS入门1
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2514152.html
Copyright © 2020-2023  润新知