#P9663. [ICPC2021 Macao R] Permutation on Tree

    ID: 9025 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划,dp2021O2优化树形 dpICPC澳门

[ICPC2021 Macao R] Permutation on Tree

题目描述

Given a tree with nn vertices where vertex rr is the root, we say a permutation p1,p2,,pnp_1, p_2, \cdots, p_n of nn is good if it satisfies the following constraint:

  • Let axa_x be the index of xx in the permutation (That is, pax=xp_{a_x} = x). For all 1u,vn1 \le u, v \le n, if vertex uu is an ancestor of vertex vv in the tree, then au<ava_u < a_v.

Define the score of a permutation to be i=1n1pipi+1\sum\limits_{i=1}^{n-1} |p_i - p_{i+1}| where x|x| is the absolute value of xx. Calculate the sum of scores of all different good permutations.

输入格式

There is only one test case in each test file.

The first line contains two integers nn and rr (2n2002 \le n \le 200, 1rn1 \le r \le n) indicating the size of the tree and the root.

For the following (n1)(n - 1) lines, the ii-th line contains two integers uiu_i and viv_i (1ui,vin1 \le u_i, v_i \le n) indicating an edge connecting vertex uiu_i and viv_i in the tree.

输出格式

For each test case output one line containing one integer indicating the sum of scores of all different good permutations. As the answer may be large, output the answer modulo (109+7)(10^9 + 7).

4 2
1 2
2 3
1 4
15
3 1
1 2
2 3
2

提示

For the first sample test case, there are three good permutations: {2,1,3,4}\{2, 1, 3, 4\}, {2,1,4,3}\{2, 1, 4, 3\} and {2,3,1,4}\{2, 3, 1, 4\}. Their scores are 44, 55 and 66 respectively so the answer is 4+5+6=154 + 5 + 6 = 15.

For the second sample test case, there is only one good permutation: {1,2,3}\{1, 2, 3\}. It's score is 22.