题目1086:
最小花费
时间限制:1 秒 内存限制:32
兆 特殊判题:否
题目描述:在某条线路上有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
来源: 2011年清华大学计算机研究生机试真题
----------------------------------------------------------------
要求出a站到b站的最小花费
也就要求出a站到b站之间每一站的最小花费。
每一站的最小花费,就是动态规划,从a到这一站j 的站的集合s ,s中每个可以直达j的站的最小花费加上这个站到j站的花费的最小值。blabla……
题目1087:
约数的个数
时间限制:1 秒 内存限制:32
兆 特殊判题:否
题目描述:
输入n个整数,依次输出每个数的约数的个数
输入:
输入的第一行为N,即数组的个数(N<=1000)
接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000) 当N=0时输入结束。
输出:
可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。
样例输入:
5
1 3 4 6 12
样例输出:
1
2
3
4
6
来源: 2011年清华大学计算机研究生机试真题
-------------------------------------------------------------------------
题目1088:
剩下的树 时间限制:1 秒 内存限制:32 兆 特殊判题:否
题目描述:
有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。
现在要移走一些树,移走的树的区间用一对数字表示,如 100
200表示移走从100到200之间(包括端点)所有的树。
可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。
输入:
两个整数L(1<=L<=10000)和M(1<=M<=100)。
接下来有M组整数,每组有一对数字。
输出:
可能有多组输入数据,对于每组输入数据,输出一个数,表示移走所有区间的树之后剩下的树的个数。
样例输入:
500
3
100 200
150 300
470 471
样例输出:
298
来源: 2011年清华大学计算机研究生机试真题