题目描述
在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下:
距离s 票价
0<S<=L1 C1
L1<S<=L2 C2
L2<S<=L3 C3
输入保证0<L1<L2<L3<10^9,0<C1<C2<C3<10^9。
每两个站之间的距离不超过L3。
当乘客要移动的两个站的距离大于L3的时候,可以选择从中间一个站下车,然后买票再上车,所以乘客整个过程中至少会买两张票。
现在给你一个 L1,L2,L3,C1,C2,C3。然后是A B的值,其分别为乘客旅程的起始站和终点站。
然后输入N,N为该线路上的总的火车站数目,然后输入N-1个整数,分别代表从该线路上的第一个站,到第2个站,第3个站,……,第N个站的距离。
根据输入,输出乘客从A到B站的最小花费。
输入
以如下格式输入数据:
L1 L2 L3 C1 C2 C3
A B
N
a[2]
a[3]
……
a[N]
输出
可能有多组测试数据,对于每一组数据,
根据输入,输出乘客从A到B站的最小花费。
样例输入
1 2 3 1 2 3
1 2
2
2
样例输出
2
注意:
有的测试数据比较大,简单的dp,注意用long long类型就好了,用scanf和printf,占位符用%lld,vc6.0里面没有long long,只有__int64,输入输出占位符用%I64d,注意提交的时候改过来就好了,题意没说l1,l2,l3,c1,c2,c3的数据类型,根据提交的代码分析,都是整数。
在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下:
距离s 票价
0<S<=L1 C1
L1<S<=L2 C2
L2<S<=L3 C3
输入保证0<L1<L2<L3<10^9,0<C1<C2<C3<10^9。
每两个站之间的距离不超过L3。
当乘客要移动的两个站的距离大于L3的时候,可以选择从中间一个站下车,然后买票再上车,所以乘客整个过程中至少会买两张票。
现在给你一个 L1,L2,L3,C1,C2,C3。然后是A B的值,其分别为乘客旅程的起始站和终点站。
然后输入N,N为该线路上的总的火车站数目,然后输入N-1个整数,分别代表从该线路上的第一个站,到第2个站,第3个站,……,第N个站的距离。
根据输入,输出乘客从A到B站的最小花费。
输入
以如下格式输入数据:
L1 L2 L3 C1 C2 C3
A B
N
a[2]
a[3]
……
a[N]
输出
可能有多组测试数据,对于每一组数据,
根据输入,输出乘客从A到B站的最小花费。
样例输入
1 2 3 1 2 3
1 2
2
2
样例输出
2
#include <iostream> #include <stdio.h> #define MAX_N 1001 #define INF 9999999999 using namespace std; int n; long long dp[MAX_N][MAX_N]; long long l1,l2,l3,c1,c2,c3; int a,b; long long dist[MAX_N]; long long cost(int _a,int _b) { long long d=dist[_b]-dist[_a]; if(0==d) return 0; if(0<d && d<=l1) return c1; if(l1<d && d<=l2) return c2; if(l2<d && d<=l3) return c3; else return INF; } long long dpit(int _a,int _b) { long long min; if(dp[_a][_b]) return dp[_a][_b]; min=cost(_a,_b); for(int i=_a+1;i<_b;i++) { if(min>dpit(_a,i)+cost(i,_b)) min=dpit(_a,i)+cost(i,_b); } dp[_a][_b]=min; return min; } int main() { int i,j; while(scanf("%lld%lld%lld%lld%lld%lld",&l1,&l2,&l3,&c1,&c2,&c3)==6) { cin>>a>>b; cin>>n; dist[1]=0; for(i=2;i<=n;i++) { scanf("%lld",&dist[i]); } for(i=1;i<=n;i++) for(j=1;j<=n;j++) dp[i][j]=0; printf("%lld\n",dpit(a,b)); } return 0; }
注意:
有的测试数据比较大,简单的dp,注意用long long类型就好了,用scanf和printf,占位符用%lld,vc6.0里面没有long long,只有__int64,输入输出占位符用%I64d,注意提交的时候改过来就好了,题意没说l1,l2,l3,c1,c2,c3的数据类型,根据提交的代码分析,都是整数。
发表评论
-
2011清华考研机试题2
2011-08-09 14:56 941http://ac.jobdu.com/problem.php ... -
2011清华考研机试题1
2011-08-09 14:40 680题目描述 http://ac.jobdu.com/proble ... -
poj3259 spfa解法
2011-08-08 19:59 1396同上题,不过改的spfa算法,注意每个节点进入队列的次数至多为 ... -
poj3259 bellman水题
2011-08-08 17:04 997poj3259http://poj.org/problem?i ... -
acm题目常用的预处理
2011-08-08 15:26 1205#include<iostream> #in ... -
poj1860
2011-08-08 14:06 744poj1860http://poj.org/problem?i ... -
water~9
2011-08-06 18:01 471poj2109http://poj.org/problem?i ... -
water~8
2011-08-06 17:22 662poj2027http://poj.org/problem?i ... -
water~7
2011-08-06 17:15 605poj1328http://poj.org/problem?i ... -
water~6
2011-08-06 14:27 764poj1088http://poj.org/problem?i ... -
water~5
2011-08-06 14:24 678poj1003http://poj.org/problem?i ... -
water~4
2011-08-06 14:09 726poj1004http://poj.org/problem?i ... -
water~3
2011-08-06 13:59 570poj2159http://poj.org/problem?i ... -
water~2
2011-08-06 12:10 574poj3299http://poj.org/problem?i ... -
water~1
2011-08-06 10:35 673poj1503http://poj.org/problem?i ... -
POJ3280 简单DP
2011-08-05 14:48 928poj3280:http://poj.org/problem? ... -
POJ3253
2011-08-04 13:36 812poj3253:http://poj.org/problem? ...
相关推荐
东北电力大学考研 初试复试 机考经验.zip
【哈工大考研复试C语言机考试题及代码】这个资料包主要涵盖了哈尔滨工业大学在考研复试阶段针对C语言编程能力的考察内容。哈工大作为国内知名的高等学府,其计算机科学与技术专业的考研竞争激烈,对考生的编程基础有...
北航 991软件工程考研初复试 机考 代码和笔记.zip
哈工大计算机考研复试C语言机考真题解析.zip
哈工大计算机技术-考研复试、机考试题备考笔记.zip
苏州大学计算机学院考研初复试笔记、机考试题.zip
(精华版)国家开放大学电大《政府经济学》机考3套真题题库及答案6.pdf
重庆大学计算机考研初试、复试:资料+真题机考+答案分享.zip
在浙大研究生C++复试题中,我们可以预期以下几个核心知识点: 1. **基本语法和数据类型**:包括变量声明、常量、运算符、流程控制(如if-else,switch,for,while循环)以及函数的使用。 2. **指针与引用**:这是...
### 华为OD机考100题之五键键盘输出问题 #### 问题背景与描述 本题目属于算法设计类题目,旨在考察考生对于键盘输入处理的理解以及基本的编程能力。题目要求根据一系列给定的键盘输入指令,模拟一个特殊键盘的操作...
##### 练习题3 **题目1:根据前序和中序序列构建二叉树** - **问题描述**: - 输入二叉树的前序和中序序列。 - 构建该二叉树,并输出后序序列、叶节点个数以及二叉树的高度。 - **解题思路**: 1. 定义二叉树...
【华为机考100题-带答案】是针对华为技术认证考试的一份复习资料,包含了一百个问题及其对应的解答。这样的文档对于备考华为认证的考生来说是极为宝贵的资源,能够帮助他们全面了解和掌握考试可能涉及的知识点。这份...
华南理工大学 计算机软件工程考研复试、机考资料.zip
武汉大学的复试机考是研究生入学考试的重要环节,主要针对技术型专业,旨在评估考生的编程能力、逻辑思维以及对专业知识的理解。以下是一些关于复试机考的关键知识点: 1. **编程基础**:复试中通常会涉及到编程...
复旦大学作为国内顶尖高校,其软件工程与计算机科学专业的考研和保研竞争激烈,而机考是复试过程中的重要环节。本压缩包文件“复旦大学软件-计算机-保研-考研复试-机考.zip”包含了丰富的复习资料,旨在帮助考生更好...
包括清华大学06年-18年的上机考试试题真题,对于复试上机考试非常有帮助
北邮计算机研究生复试历年上机测试模拟试题及真题.pdf 本资源包含四个编程问题,分别是人数统计、数字统计、字母统计和二叉树前序遍历。这四个问题都是北邮计算机学院研究生入学考试(复试)上机测试模拟试题的一...
内容概要:华为od机考算法题题库,刷题用 适用人群:大厂机考面试者,学生 应用场景:机考算法题,含答案和解题思路
华为校招硬件技术工程师机考试卷试题包括答案.docx
2020国开《建筑材料(A)》期末机考真题库9.pdf