图上替身追赶游戏
题号:NC293649
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}(尖叫)(扭曲)(阴暗的爬行)(爬行)(扭动)(阴暗地蠕动)(翻滚)(激烈地爬动)(扭曲)(痉挛)(嘶吼)(蠕动)(阴森的低吼)(爬行)
\hspace{15pt}miku发现她还挺享受这个游戏的,所以她改变了想法,只要回合结束时saki和miku相邻或重合,就不打算结束这个游戏
\hspace{15pt}saki也突然发现根本甩不开miku,每个回合结束时saki和miku一定相邻或重合
\hspace{15pt}【所以saki打算发动一次神之力!!!!!】
\hspace{15pt}本题与《C.树上替身追赶游戏》共享部分题目背景,这一部分文本我们将使用特殊的格式加以标注。
〖引用开始〗
\hspace{15pt}给定一棵由 n 个点和 n-1 条边组成的树,结点编号为 1\sim n。Saki 和 Miku 在树上的点之间移动,模拟追赶游戏,初始时两个人都在节点 k

\hspace{15pt}游戏分若干回合进行,由你扮演 Saki。每回合包含以下步骤:
{\hspace{20pt}}_\texttt{1.}\,Saki 移动:记回合开始时 Saki(你)在节点 a,你必须选择一个与 a 相邻的节点 b 并移动至 b
{\hspace{20pt}}_\texttt{2.}\,Saki 放置替身:Saki(你)不想被 Miku 追上,所以你必须选择一个与节点 b 相邻的节点 c 放置一个替身,该替身仅在本回合内存在;
{\hspace{20pt}}_\texttt{3.}\,Miku 追赶:Miku 将替身视为 Saki 的位置并据此行动:
\hspace{35pt}\circ\,若 Miku 本就位于替身所在的节点 c,她停留不动;
\hspace{35pt}\circ\,否则,Miku 在其当前节点的相邻节点中,选择到节点 c 距离最近的节点 d 并移动到该节点(换句话说,点 d 是 Miku 所在的位置到点 c 的最短路径中的下一个节点)。
〖引用结束〗
\hspace{15pt}为了甩开 Miku,你可以在游戏开始前发动一次「神之力」:在这棵树上选择不相邻的两个点 u, v,随后在这两点之间加一条边,使得树变成一个无向图,随后,游戏在图上进行!特别地,这样操作后,如果 Miku 有多个满足条件的点选择,那么她一定会选择下标最小的那个并进行移动。

\hspace{15pt}求解,有多少种不同的「神之力」施展方法,使得 Saki(你)可以在神之力发动后,通过一系列操作,在某个回合结束时,可以和 Miku 不相邻、不重合。

\hspace{15pt}【注意】
\hspace{23pt}\bullet\,与《C.树上替身追赶游戏》不同的是,在本题中,任何时刻 Saki 和 Miku 重合,游戏都不会结束。
\hspace{23pt}\bullet\,u,v 加边和在 v,u 加边被视为同一种「神之力」施展方法。更具体地,如果两次「神之力」选择的点相同,视为同一种加边方法。

输入描述:

\hspace{15pt}第一行输入两个正整数 n,k \left(2\leq n\leq 10^5;\ 1\leq k\leq n\right),表示树的结点数、双方起始位置。
\hspace{15pt}此后 n-1 行,第 i 行输入两个整数 u_i,v_i \left(1\leq u_i,v_i\leq n\right),表示第 i 条树边连接第 u_i 个点和第 v_i 个点。保证给定的边构成一棵树。

输出描述:

\hspace{15pt}输出一个整数,表示有多少种不同的「神之力」施展方法。
示例1

输入

复制
4 1
1 2
2 3
3 4

输出

复制
1

说明

\hspace{15pt}唯一的加边方法是在 1,4 之间加边。

\hspace{15pt}其中一种最优策略的移动状况如下:
\hspace{15pt}第一回合:
{\hspace{20pt}}_\texttt{1.}\,Saki(你)移动到 4 号结点;
{\hspace{20pt}}_\texttt{2.}\,Saki(你)在 3 号结点放置替身;
{\hspace{20pt}}_\texttt{3.}\,Miku 移动到 2 号结点.
\hspace{15pt}此时,Saki(你)和 Miku 并不相邻或重合,加边有效!
示例2

输入

复制
6 2
1 2
1 3
2 4
2 5
4 6

输出

复制
5