Tea Break 004
コンテスト日時
2019/12/30 (Mo) 21:00 - 22:40

E - Books

Earlgray
2
s
1024
MB
350

問題文

Cafe 中学校には、 $N$ 人の生徒がいます。生徒には、それぞれ $1, 2, \dots, N$ の番号が振られています。
null 先生は、kichi2004 君が書いたとある本を、生徒全員に読ませたいと思っています。
Cafe 中学校には $M$ の友達関係があり、生徒 $u_i$ と $v_i$ は友達です。友達同士では本を渡すことができます。
kichi2004 君の本はとても高いので、null 先生は、用意する本の数をなるべく少なくしたいと考えています。
用意する本の数を最小化したとき、必要な本の数を求めてください。

制約

  • $1 \leq N \leq 10^5$
  • $0 \leq M \leq \min(10^5, N(N-1)/2)$
  • $1 \leq u_i, v_i \leq N$ ($1 \leq i \leq M$)
  • $u_i \neq v_i$
  • $u_i = u_j$ のとき、$v_i \neq v_j$
  • $u_i = v_j$ のとき、$v_i \neq u_j$
  • 入力はすべて整数

入力

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

$N$ $M$
$u_1\ v_1$
$\vdots$
$u_M\ v_M$

出力

問題文で指定された必要な本の数を、標準出力に出力せよ。

入力例 1
5 3 1 2 2 4 5 4
出力例 1
2

はじめに本を (2) 冊用意し、生徒 (1) と 生徒 (3) に渡します。この (2) 人の生徒が本を読みます。
生徒 (1) が持っている本を 生徒 (2) に渡します。生徒 (2) がこの本を読みます。
生徒 (2) が持っている本を 生徒 (4) に渡します。生徒 (4) がこの本を読みます。
生徒 (4) が持っている本を 生徒 (5) に渡します。生徒 (5) がこの本を読みます。
以上の手順で、本を (2) 冊用意することで、全員が本を読むことができました。
この他に、たとえば 生徒 (3) と (5) に最初に渡すことによっても、(2) 冊の本でこれを達成することができます。

入力例 2
12 11 4 9 6 2 2 5 1 3 3 12 6 5 8 11 4 10 7 3 9 10 12 1
出力例 2
4
提出
C++23 (g++ 12.2.0)