破坏
时间限制:1秒 内存限制:256N
【问题描述】
WW地区有 \(N\) 个行政村 ( \(1≤N≤150\),编号 \(1..N\) )。由于这里经常发生地震,政府没有更多的资金投入建设多余的道路,所以现在从一个村庄到另一个村庄的道路是惟一的。因此,整个地区的运输系统可以看成一棵树。
这样的交通网路无疑是脆弱的,有些道路一旦被毁坏,就会造成一些村庄与另一些村庄完全断开。现在,政府想知道,最少要毁坏多少条道路,才能将恰好含有 \(M(1≤M≤N)\) 个村庄的一棵子树和其余的村庄分离开来?
【输入格式】
第一行含两个整数:\(N\) 和 \(M\),意义如题目描述。接下来的 \(N-1\) 行,每行两个整数 \(u\) 和 \(v\),表示节点 \(u\) 是节点 \(v\) 的父节点。整个交通系统被构建成一棵以 1 号节点为根的树。
【输出格式】
单独一行,包含一旦被破坏将分离出恰含 \(M\) 个节点的子树的道路的最小数目。
【输入输出样例】
Input
11 6
1 2
1 3
1 4
1 5
2 6
2 7
2 8
4 9
4 10
4 11
Output
2
【数据说明】
对于 \(100\%\) 的数据:\(2≤N≤150\)
【来源】
Nr.he