【题目描述】
草原上有N个兔子窝,每个窝里有一只兔子,有M条路径连接着这些窝,并且至多只有一个兔子窝有三条或更多的路径与其相连,其它兔子窝只有一条或两条路径与其相连。
要求把K个兔子窝扩建成避难所,遇到危险时,每只兔子均会同时前往距离它最近的避难所,花费的时间等于其经过的路径条数。
现需要规划一种建造方案,使得最后一只到达避难所的兔子所花费的时间最短。
【输入描述】
第一行输入三个整数N、M、K,分别表示兔子窝的个数、路径数以及计划建造的避难所数;
接下来M行,每行输入两个整数X、Y,表示第X个兔子窝和第Y个兔子窝之间存在一条相连的路径,任意两个兔子窝之间至多只有一条相连的路径。
【输出描述】
输出一个整数,表示最后一只到达避难所的兔子所花费的最短时间。
【输入样例】
5 5 2
1 2
2 3
1 4
1 5
4 5
【输出样例】
1
【数据范围及提示】
样例中,在第2个和第5个兔子窝建造避难所,其它兔子窝的兔子最多只需要经过1条路径就可以到达某个避难所。
对于30%的数据,N ≤ 15,K ≤ 4;
对于60%的数据,N ≤ 100;
对于100%的数据,1 ≤ K ≤ N ≤ 1000,1 ≤ M ≤ 1500。