#C1006. 边防军阵
边防军阵
题目描述
城镇的结构可以看作一棵由 个节点、 条道路构成的树。
我方派出了 支军队镇守城镇。第 支军队会收到两个节点编号 ,随后它必须在以下两种部署方案中选择一种:
- 在 到 的简单路径经过的所有道路上部署军队;
- 在除了 到 的简单路径经过的道路之外的所有道路上部署军队。
我方打算诱敌深入,因此希望把有限兵力集中在更少的道路上。你需要为每支军队选择一种部署方案,使得最终至少有一支军队部署的道路数量尽可能少。
请你求出这个最小值。
输入格式
第一行输入两个整数 ,分别表示节点数量和军队数量。
接下来 行,每行两个整数 ,表示一条连接节点 的道路。
接下来 行,每行两个整数 ,表示第 支军队对应的两个节点。
输出格式
输出一行一个整数,表示最终有军队部署的道路数量的最小值。
样例 1 输入
6 8
1 2
1 3
1 4
1 5
3 6
2 1
4 5
6 2
6 1
6 5
6 6
1 5
2 5
样例 1 输出
3
该样例满足 的约束条件。
样例 2
见选手目录下的 army/army2.in 与 army/army2.ans。
该样例满足 的约束条件。
样例 3
见选手目录下的 army/army3.in 与 army/army3.ans。
该样例满足 的约束条件。
样例 4
见选手目录下的 army/army4.in 与 army/army4.ans。
该样例满足 的约束条件。
样例 5
见选手目录下的 army/army5.in 与 army/army5.ans。
该样例满足对所有 , 之间有一条道路直接相连的约束条件。
样例 6
见选手目录下的 army/army6.in 与 army/army6.ans。
该样例满足树是一条链的约束条件。
样例 7
见选手目录下的 army/army7.in 与 army/army7.ans。
该样例满足无额外限制的约束条件。
数据范围
对于所有测试数据,均有:
- ;
- ;
- 输入的 条道路构成一棵树;
- 。
本题共 个测试点,每个测试点 分。
| 测试点编号 | 分值 | 约束条件 |
|---|---|---|
| 对所有 , 之间有一条道路直接相连 | ||
| 给定的树是一条链 | ||
| 无额外限制 |