• UVa 10130


      题目大意:商场进行促销活动,有n件商品,给出每件商品的重量和价格。一家人去购物,每个人只能搬运wi重量的物品,而且每种商品只能购买一件,问这家人最多能买多少钱的商品。典型的0-1背包问题。

     1 #include <cstdio>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 int p[1010], w[1010];
     6 int dp[1010][35];
     7 
     8 int main()
     9 {
    10 #ifdef LOCAL
    11     freopen("in", "r", stdin);
    12 #endif
    13     int T;
    14     scanf("%d", &T);
    15     while (T--)
    16     {
    17         int n;
    18         scanf("%d", &n);
    19         for (int i = 1; i <= n; i++)
    20             scanf("%d%d", &p[i], &w[i]);
    21         int k, sum = 0;
    22         scanf("%d", &k);
    23         while (k--)
    24         {
    25             int x;
    26             scanf("%d", &x);
    27             for (int i = 0; i <= 30; i++)
    28                 dp[0][i] = 0;
    29             for (int i = 1; i <= n; i++)
    30                 for (int j = 0; j <= x; j++)
    31                 {
    32                     dp[i][j] = dp[i-1][j];
    33                     if (j >= w[i])
    34                         dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]]+p[i]);
    35                 }
    36             sum += dp[n][x];
    37         }
    38         printf("%d
    ", sum);
    39     }
    40     return 0;
    41 }
    View Code
  • 相关阅读:
    CSS书写规范参考
    CSS实现垂直居中的5种方法
    HTML5新标签
    sublime win10下中文输入框自动跟随解决
    变量更改值
    查看文件
    list copy
    Tomcat JAR包冲突报错
    第一周单元3:Requests库网络爬虫实例-查询ip地址
    .strip()的喵用!
  • 原文地址:https://www.cnblogs.com/xiaobaibuhei/p/3305747.html
Copyright © 2020-2023  润新知