#P9428. [蓝桥杯 2023 国 B] 逃跑

[蓝桥杯 2023 国 B] 逃跑

题目描述

小明所在星系有 nn 颗星球,编号为 11nn。这些星球通过 n1n-1 条无向边连成一棵树。根结点为编号为 11 的星球。

为了在星际战争到来时逃到其他星系,小明在根结点设置了逃离用的传送门。每个星球的人只需要一直往父结点星球移动就可以抵达根结点。为了方便各个星球的人去往根结点,小明将其中 mm 个星球设置为了跳板星球。在从某个星球去往根结点的路径上,当一个人经过任意星球(包括起点星球)时,他可以尝试直接跳跃到 其前往根结点路径上的除当前星球以外的第一个跳板星球,其时间花费和走到父结点星球的时间花费相同,都是 11 单位时间。

然而,因为技术问题,向跳板星球的跳跃并不一定成功,每一次跳跃都有 pp 的概率失败,并转而跳跃到当前星球的父结点星球(相当于直接走到父结点星球);同时此跳板星球失效,将 不再视为跳板星球

为了衡量移动效率,小明想知道,如果一个人在这 nn 颗星球中随机选择一颗出发前往根结点,其花费的最短时间的期望是多少单位时间?

输入格式

输入共 n+1n + 1 行,第一行为两个正整数 nnmm 和一个浮点数 pp

后面 n1n - 1 行,每行两个正整数 xi,yix_i,y_i 表示第 ii 条边的两个端点。

最后一行,共 mm 个正整数表示所有跳板星球的编号。

输出格式

一行,一个浮点数,表示答案(请保留两位小数)。

4 1 0.2
1 2
2 3
3 4
2
1.30

提示

样例说明

11 号星球出发的时间花费为 00
22 号星球出发的时间花费为 11
33 号星球出发的时间花费为 22
44 号星球出发的时间花费为 0.8×2+0.2×3=2.20.8 \times 2 + 0.2 \times 3 = 2.2

所以期望时间为 0+1+2+2.24=1.3\dfrac{0+1+2+2.2}{4}=1.3

评测用例规模与约定

  • 对于 30%30\% 的数据,保证 1n20001 \le n \le 2000
  • 对于 100%100\% 的数据,保证 1n1061 \le n \le 10^61mn1 \le m \le n0<p<10 < p < 1

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 J 题