AtCoder Regular Contest 032
B
道路工事
AtCoder
⌀ 1169
原题
← AC →
翻译中…

Problem Statement

翻译中…

大工のチョーさん(Daiku Cho)の町では道路の建設が進んでいます。チョーさんの町には $N$ 個の交差点と $M$ 個の道路があり、道路は異なる2つの交差点を双方向に結んでいます。 不便なことに、ある交差点から別の交差点まで道路を使って行き来できるとは限りません。

翻译中…

チョーさんの建設会社は、異なる交差点を結ぶいくつかの道路を作って、$N$ 個のどの交差点からも道路を使って他のどの交差点へも行けるようにしたいと思っています。

翻译中…

どの交差点からも道路を使って別のどの交差点にも行けるようにするには最小で何本の道路を建設する必要があるかを答えてください。ただし、すでにある道路でどの交差点からも別のどの交差点へ行けるとき、$0$ を出力してください。

翻译中…

Input

翻译中…

入力は以下の形式で標準入力から与えられる。

翻译中…

N M
a_1 b_1
a_2 b_2
:
a_M b_M

翻译中…
  • $1$ 行目には、チョーさんの町の交差点の数と、既にある道路の数を表す $2$ つの整数 $N (1 ≦ N ≦ 100,000)$ と $M (0 ≦ M ≦ 100,000)$ がスペース区切りで与えられる。
  • $2$ 行目から $M$ 行には、既にある道路の情報が与えられる。そのうち $i$ 行目には、$i$ 番目の道路がつなぐ $2$ つの交差点を表す $2$ つの整数 $a_i, b_i (1 ≦ a_i < b_i ≦ N$ がスペース区切りで与えられる。
  • 同じ交差点をつなぐ道路が与えられることはない。すなわち、$i,j (1≦i,j≦M)$ に対し、$i≠j$ ならば $a_i≠a_j$ または $b_i≠b_j$ が成り立つ。
翻译中…

Output

翻译中…

新たに建設する道路の最小の本数を1行目に出力せよ。

翻译中…

末尾の改行を忘れないこと。

翻译中…

样例

Input #1
4 2
1 2
1 3
Output #1
2
交差点 $1$、$2$、$3$ は互いに道路でつながっているが、交差点 $4$ はつながっていない。例えば、交差点 $1$ と $4$ を結ぶ道路を作れば十分である。 ![image](http://arc032.contest.atcoder.jp/img/arc/032/B1.png)
Input #2
6 4
1 2
2 3
1 3
5 6
Output #2
题目信息
题号
arc032_2
时间限制
2 s
内存限制
256 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。