冗余通道建设
题目描述
Y 同学管理着一个拥有 个牧场(编号 到 )的农场。目前,这些牧场之间通过 条双向道路相连。尽管整个农场是连通的,即从任意一个牧场出发都能到达其他所有牧场,但某些牧场之间的连接可能非常脆弱。
为了提高农场的交通可靠性,Y 同学希望新建一些道路,使得对于农场中任意两个不同的牧场,都至少存在两条没有任何公共道路(边不相交)的路径可以互相到达。换句话说,他希望整个农场的道路网络变成一个边双连通图,即删除任意一条道路都不会导致图不连通。
请你帮助 Y 同学计算,最少需要新建多少条道路才能达成这个目标。
输入格式
第一行包含两个整数 和 ,分别表示牧场的数量和现有道路的数量。
接下来的 行,每行包含两个整数 和 ,表示牧场 和牧场 之间存在一条双向道路。
输出格式
输出一个整数,表示最少需要新建的道路数量。
样例
样例输入 #1
7 7
1 2
2 3
3 4
2 5
4 5
5 6
5 7
样例输出 #1
2
数据范围与约定
对于 的数据,保证:
- 输入保证初始图是连通的。
- 两个牧场之间可能已经存在多条道路。
京公网安备11010802045784号