CF440D Berland Federalization
题目描述
最近,Berland 面临着越来越重的联邦化的要求。许多支持者建议将国家分成几个独立的州。此外,她们还要求有一个州恰好包含 k 个城市。
现在,Berland 有 n 个城市,有一些城市间通过双向道路连接,共有 n−1 条道路,组成树形结构。
政府害怕分离后,连接不同州的道路会惹麻烦,所以她们提出了如下要求:
每一个州是一个连通块,即每个州内部是互相连通的。
存在一个州,它恰好包含 k 个城市。
连接不同州的道路数量尽可能小。
你的任务就是想出一个方案,使得满足上述要求的同时,让连接不同州的道路数量达到最小值。
输入格式
第一行包含两个正整数 $n,k(1≤k≤n≤400)$。
接下来的 n−1 行,每行描述一条道路,其中包含两个整数 $xi,yi(1≤xi≠yi≤n)$,表示有一条道路连接城市 xi 和 yi。
输出格式
第一行输出一个整数,表示连接不同州的道路数量的最小值 t。
第二行输出 t 个整数,表示连接不同州的道路对应的编号 (按照输入中的顺序以 1∼n−1 给道路编号)。