题目背景
2025 年 03 月 GESP C++ 八级编程第 2 题
题目描述
小杨有一棵包含 n 个节点的树,其中节点的编号从 1 到 n。
小杨设置了 a 个好点对 <u1,v1>, <u2,v2>, ..., <ua,va> 和 1 个坏点对 <bu,bv>。一个节点能够被删除,当且仅当:
如果点对中的任意一个节点被删除,其视为不连通。
小杨想知道,有多少个节点能够被删除。
输入格式
第一行包含两个正整数 n,a,含义如题面所示。
之后 n−1 行,每行包含两个正整数 xi,yi,代表存在一条连接节点 xi 和 yi 的边。
之后 a 行,每行包含两个正整数 ui,vi,代表一个好点对 <ui,vi>。
最后一行包含两个正整数 bu,bv,代表坏点对 <bu,bv>。
输出格式
输出一个正整数,代表能够删除的节点个数。
样例
数据范围
子任务编号 |
数据点占比 |
n |
a |
1 |
20% |
10 |
0 |
2 |
20% |
≤100 |
≤100 |
3 |
60% |
≤106 |
≤105 |
对于全部数据,保证有 1≤n≤106,0≤a≤105,ui=vi,bu=bv。