Description: 描述:
某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程( 或旅费)最小。各个城市之间可能是有向连通的、无向连通的、以及存在某个城市不连通的情况,你的程序应该能够处理所有可能的情况。如下图表示各个城市间无向连通。
输入:
第一行为一个整数n(n<=10),表示城市的总个数。接下来是一个n*n的矩阵,用来表示城市间的连通情况以及花费,例如path[i][j]=len,len=-1表示从城市i到城市j没有通路,len>0表示从i到j的路程长度为len。
对于上面图示的问题我们可以这样输入:
4
-1 30 6 4
30-1 5 10
6 5-1 20
4 10 20-1
输出:
输出占一行,对于给定的问题,如果找到了最小路程(花费),输出该最小花费,如果没有通路可以到达每个城市,则输出-1。
输入样例:
Case 1:
4
-1 30 6 4
30-1 5 10
6 5-1 20
4 10 20-1
Case 2:
5
-1-1-1 2-1
2-1-1-1-1
1 3-1-1-1
-1-1 1-1-1
-1-1-1-1-1
输出样例:
25
-1
To Search:
File list (Check if you may need any files):
Travaling.java