5330. 团队分组(Team Division)
时间限制:1000 MS 内存限制:256 MB
题目描述
## 题目描述 小火龙的班级里有 `n` 名学生,他们之间有 `m` 段友谊关系。你的任务是将学生分成两个小组,使得同一小组内的任意两名学生都不是朋友。 小组的人数可以自由决定。 ## 输入格式 第一行包含两个整数 `n` 和 `m`:分别表示学生人数和友谊关系数。学生编号为 $1, 2, \dots, n$。 接下来 `m` 行描述友谊关系,每行包含两个整数 `a` 和 `b`,表示学生 `a` 和 `b` 是朋友。 保证每段友谊连接两个不同的学生,且任意两名学生之间最多只有一段友谊。 ## 输出格式 输出每个学生所属的小组编号(`1` 或 `2`),任意有效方案均可。 若无法分组,输出 `IMPOSSIBLE`。 ## 输入输出样例 ### 输入 #1 ``` 5 3 1 2 1 3 4 5 ``` ### 输出 #1 ``` 1 2 2 1 2 ``` ## 说明/提示 ### 数据规模与约定 - $1 \le n \le 10^5$ - $1 \le m \le 2\times10^5$ - $1 \le a, b \le n$