P1177 公路乘车 - Smart Online Judge

简单的动态规划

题目ID:1177

题目名称:公路乘车

有效耗时:15 ms

空间消耗:516 KB

程序代码:

 1 #include<iostream>
 2 using namespace std;
 3
 4 int f[11];
 5 int g[102];
 6 int main(){
 7     for(int i=1;i<=10;i++){
 8         cin>>f[i];
 9     }
10     for(int i=1;i<=102;i++){
11         g[i]=0;
12     }
13
14     int a;
15     cin>>a;
16
17     for(int i=1;i<=a;i++){
18         int min=65536;
19         if(i<=10){
20             for(int j=1;j<=10;j++){
21                 if(i>=j&&(g[i-j]+f[j])<min)
22                     min=g[i-j]+f[j];
23             }
24         }
25         else{
26             for(int j=1;j<i;j++){
27                 if((g[i-j]+g[j])<min)
28                     min=g[i-j]+g[j];
29             }
30         }
31         g[i]=min;
32     //    cout<<g[i]<<" ";
33     }
34 //    cout<<endl;
35
36
37     cout<<g[a]<<endl;
38 //    system("pause");
39     return 0;
40
41 }

题目描述

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

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

输入格式

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

输出格式

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

样例输入

12 21 31 40 49 58 69 79 90 101
15

样例输出

147

数据范围与提示

时间: 2024-10-25 21:54:44

P1177 公路乘车 - Smart Online Judge的相关文章

公路乘车

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

TYVJ 公路乘车 完全背包(水题)

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

Tyvj P1015 公路乘车 (DP)

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

P1154 采药 - Smart Online Judge

题目ID:1154 题目名称:采药 有效耗时:0 ms 空间消耗:4436 KB 程序代码: 1 #include<iostream> 2 #include<string> 3 #include<vector> 4 using namespace std; 5 6 int f[1001][1001]; 7 8 int main(){ 9 for(int i=0;i<1001;i++) 10 for(int j=0;j<1001;j++){ 11 f[i][j

P1035 I need help - Smart Online Judge

题目ID:1035 题目名称:I need help 有效耗时:31 ms 空间消耗:508 KB 程序代码: #include<iostream> #include<vector> using namespace std; vector<int> index[10]; vector<int> value[10]; int f[12][12]; int n,m; bool has(){ for(int i=0;i<value[n-1].size();i

P1015 笨小猴 - Smart Online Judge

题目ID:1015 题目名称:笨小猴 有效耗时:390 ms 空间消耗:1832 KB 程序代码: 1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.util.Scanner; 5 6 public class Main { 7 static int m; 8 static boolean isPrime(int a){

P1032 合并果子 - Smart Online Judge

本题采用哈夫曼编码的思路,采用贪心算法实现. 题目ID:1032 题目名称:合并果子 有效耗时:4325 ms 空间消耗:948 KB 程序代码: 1 #include<iostream> 2 #include<list> 3 #include<algorithm> 4 5 using namespace std; 6 7 list<int> lt; 8 9 10 11 //哈夫曼编码方法 12 long long haff(){ 13 long long

P1163 第K极值 - Smart Online Judge

题目ID:1163 题目名称:第K极值 有效耗时:496 ms 空间消耗:740 KB 程序代码: 1 #include<iostream> 2 #include<vector> 3 #include<algorithm> 4 using namespace std; 5 6 vector<long long> list; 7 8 bool isprime(long long a){ 9 if(a<2) 10 return false; 11 if(a

TYVJ P1015 公路乘车

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