zoukankan      html  css  js  c++  java
  • 公路乘车

                                                  公路乘车

    描述 Description
    一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如样例的第一行就是一个费用的单子。
     
    没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程。最后要求费用最少。
     
    输入格式 InputFormat
     第一行十个整数分别表示行走1到10公里的费用(<=500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。
     第二行一个整数n表示,旅客的总路程数。
     
    输出格式 OutputFormat
    仅一个整数表示最少费用。
     
    样例输入 SampleInput

    12 21 31 40 49 58 69 79 90 101
    15

    样例输出 SampleOutput 

    147

    明明是完全背包,动态规划,找转移方程就行了。

    代码简单~~注意if判断。

     1 #include<iostream>
     2 #include<cstring>
     3 long a[11],f[101],n;
     4 int main()
     5 {
     6     for(int i=1;i<=10;i++) scanf("%ld",&a[i]);
     7     scanf("%ld",&n);
     8     for(int i=1;i<=n;i++) f[i]=0xfffffff;
     9     f[0]=0;
    10     for(int i=1;i<=10;i++)
    11         for(int j=1;j<=n;j++)
    12             if(f[j-i]+a[i]<f[j]) f[j]=f[j-i]+a[i];
    13    printf("%ld
    ",f[n]);
    14 }
    View Code
  • 相关阅读:
    织梦开发——相关阅读likeart应用
    织梦标签教程
    织梦专题调用代码
    HIT 2543 Stone IV
    POJ 3680 Intervals
    HIT 2739 The Chinese Postman Problem
    POJ 1273 Drainage Ditches
    POJ 2455 Secret Milking Machine
    SPOJ 371 Boxes
    HIT 2715 Matrix3
  • 原文地址:https://www.cnblogs.com/wxjor/p/5449648.html
Copyright © 2011-2022 走看看