输入:一个有向图,其中节点表示一个城镇,边表示两个城镇之间的路线。边缘的加权表示两个城镇之间的距离。一个给定的路线不会出现不止一次,并且对于一个给定的路线,起点和终点的城镇不会是同一个城镇。 输出:对于测试输入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文件,否则直接为零分