小杨的旅游8级2 2023样卷

小杨的旅游8级2 2023样卷

小杨的旅游tour.cpp
3.2.1问题描述
小杨准备前往B国旅游。
B国有n座城市,这n座城市依次以1至n编号。城市之间由n-1条双向道路连接,任意两座城市之间均可达(即任意两座城市之间存在可达的路径)。
小杨可以通过双向道路在城市之间移动,通过一条双向道路需要1单位时间。
B国城市中有k座城市设有传送门。设有传送门的城市的编号依次为b1, b2....bk。小杨可以从任意一座设有传送门的城市花费0单位时间前往另一座设有传送门的城市。
注:如果两座设有传送门的城市之间存在双向道路,那么小杨可以选择通过双向道路移动,也可以选择通过传送门传送。
小杨计划在B国旅游q次。第i次旅游(1≤i≤q),小杨计划从编号为ui的城市前往编号为vi的城市,小杨希望你能求出所需要的最短时间。
3.2.2输入描述
第一行包含三个正整数n,k,q,分别表示B国的城市数量,设有传送门的城市数量,以及小杨计划在B国旅游的次数。
接下来n-1行,每行包含两个正整数xi,yi,表示-条双向道路连接的两座城市的编号。
第n+1行包含k个正整数b1, b2...,bk,表示设有传送门的城市的编号。
接下来q行,每行包含两个正整数ui, vi,表示小杨第i次旅游行程的起点城市编号与终点城市编号。
3.2.3输 出描述
输出共q行。第i行(1≤i≤q)输出一个非负整数,表示小杨计划第i次旅游从编号为ui的城市前往编号为Vi的城市所需要的最短时间。
3.2.4样例输入1
7 2 1
5 7
3 6
2 3
1 5
5 4
1 2
7 4
3 7
3.2.5样例输出1
4
3.2.6样例输入2
5 0 3
2 3
5 1
5 2
1 4
4 5
1 4
4 3
3.2.7样例输出2
2
1
4
数据范围
30%,n≤500,k≤500,q=1;
30%,n≤2*10^5,k=0,q≤2*10^5;
100%,n≤2*10^5,k≤2*10^5,q≤2*10^5;
对于全部数据,保证有1≤k≤n≤2*10^5, 1≤q≤2*10^5, 1≤xi,yi≤n, 1≤ui,vi≤n对于所有1≤i≤n-1,有xi≠yi。

信息

ID
2618
难度
9
分类
(无)
标签
递交数
1
已通过
1
通过率
100%
上传者