9292 - 道路建设

现在是施工时间。今年,负责偏远岛屿的人希望修复和升级通往岛上各个旅游景点的各种道路。
道路本身也相当有趣。由于岛上的奇怪习俗,道路的安排使它们不在十字路口交汇,而是通过桥梁和隧道相互交叉。每条路都在两个特定的旅游景点之间运行,这样游客就不会失去不可挽回的损失。
不幸的是,考虑到每条道路所需的维修和升级的性质,当建筑公司在特定的道路上施工时,它在任何方向都无法使用。如果无法在两个旅游景点之间旅行,即使建筑公司在任何特定时间只在一条路上工作,这也可能会造成问题。
因此,偏远岛屿的道路部门决定请咨询服务部门帮助解决这个问题。已经决定,在个景点之间修建新的道路,以便在最终改造中,如果有任何一条道路正在建设,仍然可以使用剩余的道路在任何两个旅游景点之间行驶。你的任务是找到所需的最少数量的新道路。

输入

第一行输入由正整数n和r组成,用空格分隔,其中3≤n≤1000是岛上旅游景点的数量,2≤r≤1000是道路的数量。旅游景点方便地标记为从1到n。
以下r线中的每一条都由两个整数v和w组成,用一个空格隔开,表示标记为v和w的景点之间存在一条道路。请注意,您可以沿着每条道路向任何方向行驶,任何一对旅游景点之间最多有一条直接的道路。此外,您可以放心,在目前的道路下,可以在任何两个旅游景点之间旅行。

输出

一行,由一个整数组成,它给出了我们需要添加的最少道路数。

样例

输入

10 12
1 2
1 3
1 4
2 5
2 6
5 6
3 7
3 8
7 8
4 9
4 10
9 10

输出

2
时间限制 1 秒
内存限制 512 MB
讨论 统计
上一题 下一题