• 公路乘车(基础背包入门)


    Description

    一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。

    kilometres

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    price

    12

    21

    31

    40

    49

    58

    69

    79

    90

    101

    没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程。最后要求费用最少。

    Input

    第一行十个整数分别表示行走1到10公里的费用(<=500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。

    第二行一个整数n表示,旅客的总路程数。

    Output

    仅一个整数表示最少费用。

    Sample Input

    12 21 31 40 49 58 69 79 90 101
    15

    Sample Output

    147
     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 #include <string>
     5 #include <math.h>
     6 #include <algorithm>
     7 #include <vector>
     8 #include <queue>
     9 #include <set>
    10 #include <stack>
    11 #include <map>
    12 #include <sstream>
    13 const int INF=0x3f3f3f3f;
    14 typedef long long LL;
    15 const int mod=1e9+7;
    16 const int maxn=1e5+10;
    17 using namespace std;
    18  
    19 int dp[1005];
    20 int w[1005];
    21 int v[1005];
    22  
    23 int main()
    24 {
    25     for(int i=1;i<=10;i++)
    26     {
    27         w[i]=i;
    28         scanf("%d",&v[i]);
    29     }
    30     int m;
    31     scanf("%d",&m);
    32     memset(dp,0,sizeof(dp));
    33     for(int i=w[1];i<=m;i++)//初始化边界
    34             dp[i]=v[1]*i;
    35     for(int i=2;i<=10;i++)//完全背包问题 
    36     {
    37         for(int j=w[i];j<=m;j++)
    38         {
    39            dp[j]=min(dp[j],dp[j-w[i]]+v[i]);
    40         }
    41     }
    42     printf("%d
    ",dp[m]);
    43     return 0;
    44 }
  • 相关阅读:
    c++(递归和堆栈)
    Halcon算子翻译——dev_set_line_width
    Halcon算子翻译——dev_set_draw
    Halcon算子翻译——dev_set_colored
    Halcon算子翻译——dev_set_color
    Halcon算子翻译——dev_open_window
    Halcon算子翻译——dev_open_tool
    Halcon算子翻译——dev_open_file_dialog
    Halcon算子翻译——dev_open_dialog
    Halcon算子翻译——dev_map_var
  • 原文地址:https://www.cnblogs.com/jiamian/p/11995246.html
Copyright © 2020-2023  润新知