损坏的城市(damage.cpp)
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
Background
Special for beginners, ^_^
Description
小C的国家遭受了一场地震。有一些城市遭到了损坏,但幸运地,所有城市间的道路都还能使用。
小C的国家有P(1 <= P <= 30,000)个城市,编号1..P。有C(1 <= C <= 100,000)条双向路经联接这些城市,编号为1..C.。路经i连接城市a_i和b_i (1 <= a_i<= P;1 <= b_i <= P)。需要注意的是,路经可能连接a_i到它自己,两个城市之间可能有多条路经。
国家首都在编号为1的城市。N (1 <= N <= P)个在不同城市的人通过手机短信report_j(2 <= report_j <= P)告诉小C他们的城市(report_j)没有损坏,但是它们无法到达首都(到达首都的路径上有损坏的城市)。请你帮小C找出至少有多个不可能达到首都的城市(这个数目包括已经损坏的城市)?
Format
Input
第1行: 三个空格分开的数: P, C, 和 N
接下来C行, 每行两个空格分开的数: a_i 和 b_i
接下来N行,每行一个数 report_j
Output
输出一行一个数,表示最少不能到达首都的城市的数目(包括损坏的城市)。
Samples
4 3 1
1 2
2 3
3 4
3
3
【样例1说明】
当城市2遭到损坏时,城市3无法到达首都,总共城市2, 3, 4无法到达首都。
其余城市遭到损坏不可能使得3号城市无法到达首都。
故最少不能到达首都的城市数为3
Limitation
对于 20% 的数据:1 <= N<=P <= 10,1 <= C <= 50 ~~
对于所有数据:1 <= N<=P <= 30,000,1 <= C <= 100,000
2023CPS-J 测试1
- Status
- Done
- Rule
- IOI
- Problem
- 4
- Start at
- 2023-10-3 9:00
- End at
- 2023-10-7 13:00
- Duration
- 100 hour(s)
- Host
- Partic.
- 13