2086: [蓝桥杯2023初赛] 砍树

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:261 通过:83

题目描述

给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对(a1, b1), (a2, b2), ... , (am, bm),其中 ai 互不相同,bi 互不相同,ai ≠ bj(1 ≤ i, j ≤ m)。
小明想知道是否能够选择一条树上的边砍断,使得对于每个 (ai, bi) 满足 ai 和bi 不连通。
如果可以则输出应该断掉的边的编号(编号按输入顺序从 1 开始),否则输出-1。

输入格式

输入共 n + m 行,第一行为两个正整数 n,m。
后面 n − 1 行,每行两个正整数 xi,yi 表示第 i 条边的两个端点。
后面 m 行,每行两个正整数 ai,bi。
对于 30% 的数据,保证1 < n ≤ 1000。
对于 100% 的数据,保证1 < n ≤ 100000,1 ≤ m ≤ n / 2。

输出格式

一行一个整数,表示答案,如有多个答案,输出编号最大的一个。

输入样例 复制

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

输出样例 复制

4

数据范围与提示

断开第 2 条边后形成两个连通块:{3, 4},{1, 2, 5, 6},满足 3 和 6 不连通,4 和 5 不连通。
断开第 4 条边后形成两个连通块:{1, 2, 3, 4},{5, 6},同样满足 3 和 6 不连通,4 和 5 不连通。
4 编号更大,因此答案为 4。