CF123E.Maze

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A maze is represented by a tree (an undirected graph, where exactly one way exists between each pair of vertices). In the maze the entrance vertex and the exit vertex are chosen with some probability. The exit from the maze is sought by Deep First Search. If there are several possible ways to move, the move is chosen equiprobably. Consider the following pseudo-code:

DFS(x)
    if x == exit vertex then
        finish search
    flag[x] <- TRUE
    random shuffle the vertices' order in V(x) // here all permutations have equal probability to be chosen
    for i <- 1 to length[V] do
        if flag[V[i]] = FALSE then
            count++;
            DFS(y);
    count++;

V(x)V(x) is the list vertices adjacent to xx . The flagflag array is initially filled as FALSE. DFSDFS initially starts with a parameter of an entrance vertex. When the search is finished, variable countcount will contain the number of moves.

Your task is to count the mathematical expectation of the number of moves one has to do to exit the maze.

输入格式

The first line determines the number of vertices in the graph nn ( 1<=n<=1051<=n<=10^{5} ). The next n1n-1 lines contain pairs of integers aia_{i} and bib_{i} , which show the existence of an edge between aia_{i} and bib_{i} vertices ( 1<=ai,bi<=n1<=a_{i},b_{i}<=n ). It is guaranteed that the given graph is a tree.

Next nn lines contain pairs of non-negative numbers xix_{i} and yiy_{i} , which represent the probability of choosing the ii -th vertex as an entrance and exit correspondingly. The probabilities to choose vertex ii as an entrance and an exit equal and correspondingly. The sum of all xix_{i} and the sum of all yiy_{i} are positive and do not exceed 10610^{6} .

输出格式

Print the expectation of the number of moves. The absolute or relative error should not exceed 10910^{-9} .

输入输出样例

  • 输入#1

    2
    1 2
    0 1
    1 0
    

    输出#1

    1.00000000000000000000
    
  • 输入#2

    3
    1 2
    1 3
    1 0
    0 2
    0 3
    

    输出#2

    2.00000000000000000000
    
  • 输入#3

    7
    1 2
    1 3
    2 4
    2 5
    3 6
    3 7
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    

    输出#3

    4.04081632653

说明/提示

In the first sample the entrance vertex is always 1 and the exit vertex is always 2.

In the second sample the entrance vertex is always 1 and the exit vertex with the probability of 2/5 will be 2 of with the probability if 3/5 will be 3. The mathematical expectations for the exit vertices 2 and 3 will be equal (symmetrical cases). During the first move one can go to the exit vertex with the probability of 0.5 or to go to a vertex that's not the exit vertex with the probability of 0.5. In the first case the number of moves equals 1, in the second one it equals 3. The total mathematical expectation is counted as 2/5×(1×0.5+3×0.5)+3/5×(1×0.5+3×0.5)2/5×(1×0.5+3×0.5)+3/5×(1×0.5+3×0.5)

首页