Dijkstra算法

设有一有向网图,其顶点值为字符型并假设各值互不相等,采用邻接矩阵表示法存储表示,以编号最小的顶点为源点,用Dijkstra算法求出该源点到其余各顶点的最短路径,要求当出现多条权值相同的最短路径时,优先选取编号小的顶点。

输入格式:
有多组测试数据,每组数据的第一行为两个整数n和e,表示n个顶点和e条边(0<n<20);第二行为其n个顶点的值,按输入顺序进行存储;接着有e行,表示e条边的信息,每条边信息占一行,包括边所依附的顶点下标i和j,以及该边上的权值,数据之间用空格隔开。

输出格式:
输出源点到其余各顶点的最短路径,每组输出占n-1行,每两组数据之间有一空行,具体格式见样例。

输入样例:
5 7
ABCDE
0 1 10
0 3 30
0 4 100
1 2 50
2 4 10
3 2 20
3 4 60
结尾无空行
输出样例:
(A,B)10
(A,D)30
(A,D,C)50
(A,D,C,E)60
结尾无空行