道路堵塞

提交数: 5, 通过率: 40%, 平均分: 72

题目描述:

A国有N座城市,依次标为1到N。同时,在这N座城市间有M条单向道路,每条道路的长度是一个正整数。现在,A国交通部指定了一条从城市1到城市N的路径,并且保证这条路径的长度是所有从城市1到城市N的路径中最短的。不幸的是,因为从城市1到城市N旅行的人越来越多,这条由交通部指定的路径经常发生堵塞。现在A国想知道,这条路径中的任意一条道路无法通行时,由城市1到N的最短路径长度是多少。

输入格式:

输入文件第一行是三个用空格分开的正整数N、M和L,分别表示城市数目、单向道路数目和交通部指定的最短路径包含多少条道路。
按下来M行,每行三个用空格分开的整数a、b和c,表示存在一条由城市a到城市b的长度为c的单向道路。这M行的行号也是对应道路的编号,即其中第1行对应的道路编号为1,第2行对应的道路编号为2,…,第M行对应的道路编号为M。最后一行为L个用空格分开的整数sp(1)…,,sp(L),依次表示从城市1到城市N的由交通部指定的最短路径上的道路的编号。

输出格式:

包含L行,每行为一个整数,第i行(i=1,2…,,L)的整数表示删去编号为sp(i)的道路后从城市1到城市N的最短路径长度。如果去掉后没有从城市1到城市N的路径,则输出一1。

样例输入:

6 6 4
1 2 1
2 3 1
3 4 1
4 6 1
2 5 2
5 4 3
1 2 3 4

样例输出:

-1
7
7
-1

提示:

10%的数据满足N≤10
40%的数据满足N≤2000,1≤M≤10000
100%的数据满足2≤N≤100000,1≤M≤200000。所用道路长度大于0小于10000
输入的路径一定是一条合法的从城市
1到城市N的最短路径。

时间限制: 1000ms
空间限制: 256MB

来源: 湖南省选2014day2t2