#icpc2015summerday2d. [icpc2015summer_day2_d]真っ暗な部屋
[icpc2015summer_day2_d]真っ暗な部屋
问题陈述
当A先生醒来时,他发现自己身处在一个漆黑的房间里。看起来A先生似乎迷失在了一个由N个房间构成的地牢中。尽管你无法知道A先生迷失在了哪个房间,但幸运的是你得到了地牢的地图。现在你需要给A先生提供指示,让他走到光亮的房间里。
有N个房间中的M个房间是黑暗的,分别是D1,D2,...,DM号房间。而且每个房间都有K条单行道,从第i个房间出发的道路连接到第vi1,vi2,...,viK个房间。你可以按顺序让A先生走过a1,a2,...,al号道路。然而,一旦A先生到达了光亮的房间,他将忽略之后的指示。由于在给出指示之前和之后无法得知A先生所在的房间信息,因此你需要传达一系列指示,无论A先生在哪个房间,他都能够到达光亮的房间。
请计算出这些指示中最短的长度。
约束条件
- 互不相同
- 每个黑暗房间至少可以到达一个光亮的房间
输入格式
输入以以下格式从标准输入中给出: ...
输出格式
输出一个整数,表示答案。
示例输入 1
4 2 2
1 2
2 4
3 1
4 2
1 3
示例输出 1
2
```
如果给出指示1, 1,
* 如果A先生初始位置是房间1,他在第二次移动后到达房间3
* 如果A先生初始位置是房间2,他在第一次移动后到达房间3
* * *
### 示例输入 2
```plain
3 2 2
1 2
2 3
1 2
2 1
示例输出 2
3
```
如果给出指示2, 1, 2,
* 如果A先生初始位置是房间1,他在第一次移动后到达房间3
* 如果A先生初始位置是房间2,他在第三次移动后到达房间3
* * *
### 示例输入 3
```plain
6 3 3
1 2 3
4 1 1
2 5 2
3 3 6
4 4 4
5 5 5
6 6 6
示例输出 3
3
```
请注意非连通的情况、自环和重边的情况
* * *