#P729. starhder的旅游
starhder的旅游
【问题描述】
starhder突发奇想,要去G地,于是他搞来了一张地图,看怎么走才好。
地图上有很多城市,G地也是一座城市。每两座城市之间都可能有直达方法,也有可能两座城市之间并不能直接相通,而要通过其他的城市转达。对于两个城市之间的直达方法,需要一定的时间,当然,如果从A城市到B城市的直达方法需要T时间,那么从B城市到A城市的直达方法也是T时间。
starhder想要用最短的时间到达G地,但是有个问题,他发现,地图上有些城市对他很有吸引力。所以他要在经过这些城市的基础上时间最短。
starhder已经用1、2、3、4、5……n标记了他可能经过的城市(1代表出发地,n代表G地),但是眼花缭乱的地图让他感到烦恼。他请你来解决这个问题,告诉他最小需要多少时间到达G地。
【输入格式】
输入文件的第一行是三个正整数n和m,t,n表示总共有多少个城市(包括出发地和G地),城市数不会超过200个;m是城市的直达路线数(1<=m<=20000),t表示一定去的城市数0<=t<=10(不包括出发地和G地)。
接下来一行有t个整数,表示一定要去的城市。
接下来m行,每行包含三个正整数,前两个数表示分别代表一个城市,第三个数是这两个城市之间的直达时间。直达时间不会超过1000000。
【输出格式】
输出一个数,题目要求的得最短时间。
【输入样例】travel.in
5 10 2
2 3
1 2 5
1 3 45
1 4 61
1 5 81
2 3 9
2 4 91
2 5 4
3 4 74
3 5 42
4 5 61
【输出格例】travel.out
27