B 火车

时间限制 : 10000 MS   空间限制 : 565536 KB
评测说明 : 1.5s,512m
问题描述

A 国有n 个城市,城市之间有一些双向道路相连,并且城市两两之间有唯一路径。现在有火车在城市 a,需要经过m 个城市。

火车按照以下规则行驶:每次行驶到还没有经过的城市中在 m 个城市中最靠前的。现在小 A 想知道火车经过这m 个城市后所经过的道路数量。

输入格式

第一行三个整数 n、m、a,表示城市数量、需要经过的城市数量,火车开始时所在位置。

接下来 n-1 行,每行两个整数 x和y,表示 x 和y之间有一条双向道路。

接下来一行 m 个整数,表示需要经过的城市。

输出格式

一行一个整数,表示火车经过的道路数量。

样例输入 1

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

样例输出 1

9

样例输入 2

100 30 19
1 2
2 3
2 4
2 5
3 6
6 7
6 8
7 9
8 10
8 11
11 12
12 13
12 14
14 15
15 16
16 17
16 18
17 19
17 20
19 21
19 22
22 23
23 24
24 25
25 26
24 27
26 28
27 29
27 30
29 31
29 32
31 33
33 34
34 35
35 36
34 37
37 38
36 39
39 40
38 41
39 42
42 43
41 44
44 45
44 46
46 47
45 48
47 49
47 50
48 51
51 52
50 53
53 54
54 55
53 56
54 57
57 58
57 59
58 60
59 61
60 62
62 63
63 64
62 65
64 66
66 67
66 68
66 69
69 70
68 71
71 72
70 73
72 74
74 75
73 76
76 77
75 78
77 79
78 80
78 81
81 82
80 83
83 84
84 85
85 86
86 87
87 88
86 89
89 90
90 91
90 92
91 93
92 94
93 95
94 96
94 97
95 98
97 99
99 100
80 86 36 64 67 45 7 54 87 26 73 68 42 41 57 96 77 8 74 58 52 99 60 22 51 6 93 72 30 15

样例输出 2

401

提示

N<=500000 ,M<=400000

样例1说明:
1.城市4:从2到达4,道路数2,经过的城市有2,3,4
2.城市3:3已经被经过,跳过3
3.城市1:从4到达1,道路数3,经过的城市有4,3,2,1
4.城市5:从1到达5,道路数4,经过的城市有1,2,3,4,5

原文地址:https://www.cnblogs.com/Limbo-To-Heaven/p/11372887.html