城市漫步
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
Carol 所在的 C 城有 n 个景点从 1 到 n 编号,由 n−1 条双向道路连接使得任意两个景点可以通过道路互达,也就是其构成一棵 n 个点的树。
Carol 想和他的朋友们去游览一些景点,于是约定在 x 号景点集合,并希望去 a1,a2,…,ak 这 k 个景点游玩,最后在 y 号景点告别。这 k 个景点对他们来说一样有趣,所以访问这些景点的顺序无关紧要,只要每个景点都去过就让人心满意足了。
当然,需要花费的总时间肯定越少越好,他们经过每条道路都需要花费 1 单位时间,请你帮他们求出从 x 出发至到 y 结束的整个过程中需要花费的最小总时间。
输入格式
第一行一个整数 T 表示数据组数,对于每组数据:
第一行两个整数 n,k。
第二行两个整数 x,y。
第三行 k 个整数 a1,a2,…,ak。
接下来 n−1 行,每行两个整数 ui,vi 表示一条连接景点 ui,vi 的双向道路。
输出格式
对于每组数据,输出一行一个整数表示最小需要的总时间。
2
3 1
1 3
2
1 3
1 2
6 4
3 5
1 6 2 1
1 3
3 4
3 5
5 6
5 2
3
7
样例解释s和说明
对于第一组数据,路线为1->2->1->3。
对于第二组数据,路线为3->1->3->5->2->5->6->5。
数据规模与约定
对于 30% 的数据, ∑n≤20。
对于 60% 的数据, ∑n≤3000。
对于 100% 的数据,1≤T≤10^4, 1≤x,y≤n, 1≤ai≤n, ∑n≤2×10^5。