A75098.闭路
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定一个由 n 个顶点和 n−1 条边组成的连通无向图。每个顶点依次编号为 1 到 n。
在图论中,满足这些条件的图被称为树,它具有不含环的性质。
现在,我们考虑向这个图中添加一条原图中不存在的边 (a,b)。添加后,图中将恰好形成一个环。
你的任务是,对于给定的若干条待添加的边,输出每条边添加后所形成的环的长度(环所包含的边的数量)。
总共会给出 Q 个待添加的边的询问,你需要对所有这些询问输出答案。
输入格式
第 1 行是一个整数 N (1≤N≤100,000),表示图的顶点数。
接下来的 N−1 行描述了图的边。第 i 行包含两个由空格分隔的整数 xi 和 yi,表示一条连接顶点 xi 和 yi 的边。
第 N+1 行是一个整数 Q (1≤Q≤100,000),表示待添加边的询问数量。
接下来的 Q 行描述了待添加边的信息。第 i 行包含两个由空格分隔的整数 ai 和 bi,表示第 i 个询问中要添加的边。
保证给定的所有边都连接图中存在的顶点。
- 图不包含自环,即对于任意 i,都有 xi=yi。
- 图不包含重边,即对于任意 i,j(i=j),都有 {xi,yi}={xj,yj}。
- 保证待添加的边是原图中不存在的边,并且不是自环。
输出格式
对于每个询问,输出将该边添加到原图中后形成的环的长度。共输出 Q 行,每行一个答案。请在输出的末尾添加一个换行符。
输入输出样例
输入#1
5 1 2 1 3 1 4 4 5 3 2 3 2 5 2 4
输出#1
3 4 3
输入#2
6 1 2 2 3 3 4 4 5 5 6 4 1 3 1 4 1 5 1 6
输出#2
3 4 5 6
输入#3
7 3 1 2 1 2 4 2 5 3 6 3 7 5 4 5 1 6 5 6 4 7 5 3
输出#3
3 3 5 5 4
说明/提示
下图展示了样例1中的树结构。