首页 > 其他 > 详细

公路乘车

时间:2016-04-30 23:47:55      阅读:474      评论:0      收藏:0      [点我收藏+]

                                              公路乘车

描述 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\n",f[n]);
14 }
View Code

 

公路乘车

原文:http://www.cnblogs.com/wxjor/p/5449648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!