CF216B Forming Teams

题目描述

一天,$n$ 名学生来到体育场。他们想要踢足球,因此需要将自己分成若干支队伍,每队人数必须相等。 已知这些学生之间存在死对头关系。每名学生最多有两位死对头。此外,如果学生 $A$ 是学生 $B$ 的死对头,那么学生 $B$ 也一定是学生 $A$ 的死对头。 学生们希望分队的方式,使得没有两个死对头在同一队。如果无法按照要求分队,则必须让部分学生坐在替补席上。 请你计算,为了组队开始比赛,最少需要让多少名学生坐在替补席上。

输入格式

第一行包含两个整数 $n$ 和 $m$($2 \leq n \leq 100$,$1 \leq m \leq 100$)——学生人数与死对头对数。 接下来 $m$ 行,每行描述一对敌对关系。每行包含两个整数 $a_i$ 和 $b_i$($1 \leq a_i, b_i \leq n$,$a_i \neq b_i$)——表示第 $a_i$ 个学生和第 $b_i$ 个学生互为死对头。每对仇恨只出现一次。保证每个学生最多有两个死对头。 你可以认为所有学生已用 $1$ 到 $n$ 的不同整数编号。

输出格式

输出一个整数,表示为了开始比赛,最少需要有多少名学生坐在替补席上。

说明/提示

由 ChatGPT 5 翻译