重建道路

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 reroads.in 输出文件 reroads.out

【问题描述】

    一场可怕的地震后,人们用N个牲口棚(1N150,编号1..N)重建了农夫John的牧场。由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的。因此,牧场运输系统可以被构建成一棵树。John想要知道另一次地震会造成多严重的破坏。有些道路一旦被毁坏,就会使一棵含有P(1PN)个牲口棚的子树和剩余的牲口棚分离,John想知道这些道路的最小数目。

【输入】

1行:2个整数,NP

2..N行:每行2个整数IJ,表示节点I是节点J的父节点。

【输出】

单独一行,包含一旦被破坏将分离出恰含P个节点的子树的道路的最小数目。

【样例】

roads.in                     roads.out

11 6                         2

1 2

1 3

1 4

1 5

2 6

2 7

2 8

4 9

4 10

4 11

【样例解释】

如果道路1-41-5被破坏,含有节点(123678)的子树将被分离出来