输入:一个有向图,其中节点表示一个城镇,边表示两个城镇之间的路线。边缘的加权表示两个城镇之间的距离。一个给定的路线不会出现不止一次,并且对于一个给定的路线,起点和终点的城镇不会是同一个城镇。
输出:对于测试输入1到5,如果没有这样的路由,输出“NO SUCH ROUTE”。否则,按照给定路线行走;不要再多站了!例如,第一个问题意味着从A城市出发,然后直接到达B城市(距离为5),然后直接到达C城市(距离为4)。
1.路线的距离A-B-C。
2.路线的距离A-D。
3.A-D-C路线的距离。
4.路线A-E-B-C-D的距离。
5.路线A-E-D的距离。
6.从C点出发至C点结束的行程,最多有3站。在下面的样本数据中,有两个这样的行程:C-D-C(2站)。C-E-B-C(3站)。
7.从A点出发到C点,总共4站的行程数。在下面的样本数据中,有三次这样的传输:A到C(通过B,C,D);A到C(通过D,C,D);A到C(通过D,E,B)
8.从A地到C地的最短路线的长度(用旅行距离来表示)。
9.从B地到B地的最短路线的长度(以旅行距离计算)。
10.C与C之间距离小于30的不同路线数。在样本数据中,行程是:CDC, CEBC, CEBCDC, CDCEBC, CDEBC, CEBCEBC, cebcecebc。
测试输入:
对于测试输入,城镇的命名使用字母表的前几个字母从A到D。两个城镇(A到B)之间的一条距离为5的路线表示为AB5。
图:AB5,BC4,CD8,DC8,DE6,AD5,CE2,EB3,AE7
预期产出:
输出#1:9
输出#2:5
输出#3:13
输出#4:22
输出#5:NO SUCH ROUTE
输出#6:2
输出#7:3
输出#8:9
输出#9:9
输出#10:7
2、程序要求:
(1) 以Java语言实现。
(2) 不能使用除开发工具自带程序包(如JDK)以外的任何第三方包。但允许使用JUnit、Ant及其依赖库用以编写、运行测试代码、编译及打包程序。
(3) 必须提供用以快速验证程序可正确运行的机制。
(4) 成果以zip压缩文件方式提供。文件名为“Trains_作者中文名.zip”。
其中,必须至少包含源代码、程序编译结果和readme.txt文件。在readme.txt中说明程序设计思路、运行程序的方式。注意:必须说明运行程序的方式。 成果中不能包含*.cmd、*.bat、*.exe、*.sh文件,否则直接为零分