#G825032. [GESP202503 八级 C++] 27. 割裂

[GESP202503 八级 C++] 27. 割裂

题目描述

小杨有一棵包含 nn 个节点的树,其中节点的编号从 11nn

小杨设置了 aa 个好点对 $\{\langle u_1, v_1 \rangle, \langle u_2, v_2 \rangle, \dots, \langle u_a, v_a \rangle\}$ 和一个坏点对 bu,bv\langle b_u, b_v \rangle。一个节点能被删除,当且仅当:

  • 删除该节点后对于所有的 1ia1 \leq i \leq a,好点对 uiu_iviv_i 仍然连通;
  • 删除该节点后坏点对 bub_ubvb_v 不连通。

如果点对中的任意一个节点被删除,其视为不连通。

小杨想知道,还有多少个节点能被删除。

输入格式

第一行包含两个非负整数 nn, aa,含义如下题面所示。

接下来 n1n - 1 行,每行包含两个正整数 xi,yix_i, y_i,代表存在一条连接节点 xix_iyiy_i 的边;

之后 aa 行,每行包含两个正整数 ui,viu_i, v_i,代表一个好点对 ui,vi\langle u_i, v_i \rangle

最后一行包含两个正整数 bu,bvb_u, b_v,代表坏点对 bu,bv\langle b_u, b_v \rangle

输出格式

输出一个非负整数,代表删除的节点个数。

测试样例

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

说明/提示

子任务编号 分值 nn aa
1 2020 =10=10 =0=0
2 100\leq 100
3 6060 106\leq 10^6 105\leq 10^5

对于全部数据,保证有 1n1061 \leq n \leq 10^6, 0a1050 \leq a \leq 10^5, uiviu_i \neq v_i, bubvb_u \neq b_v