铁路票价
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

本题译自 JOI 2016 Final T3「鉄道運賃
给出一个包含N个点,M条无向边的图,点的编号为,边的编号为
i号边连接结点U_iV_i。开始时,每条边的长度为1。
接下来有Q次修改,第j次修改会将R_j号边的长度由1修改为2。保证每条边最多只修改一次。
每次修改后,试求:与原图(未作任何修改的图)相比,有多少结点到结点1的最短路变长了。

输入描述:

第一行有三个整数N,M,Q,用空格分隔。
在接下来的M行中,第行有两个整数U_i,V_i,用空格分隔。
在接下来的Q行中,第行有一个整数R_j
输入的所有数的含义见题目描述。

输出描述:

输出共Q行,第行有一个整数,表示第j次修改后,与原图相比,有多少结点到结点1的最短路变长了。
示例1

输入

复制
5 6 5
1 2
1 3
4 2
3 2
2 5
5 3
5
2
4
1
3

输出

复制
0
2
2
4
4

说明

例如,在第3次修改后,结点3和结点5到结点1的最短路与原图相比变长了,因此输出的第三个数是2。
示例2

输入

复制
4 6 6
1 2
1 3
1 4
2 3
2 4
3 4
1
4
2
5
3
6

输出

复制
1
1
2
2
3
3
示例3

输入

复制
2 1 1
1 2
1

输出

复制
1

备注:

对于的数据,
对于另外的数据,
对于另外的数据,将输出的Q个整数去重后不超过50个。
对于所有数据,,保证图连通,无重边。

CC-BY-SA,感谢LOJ分享,译文来自https://loj.ac/problem/2344