#CSES1683. 行星与王国

行星与王国

题目背景

翻译自 CSES-1683 题。

题目描述

一个游戏中有 nn 个行星,通过 mm 条传送门连接。两个行星 aabb 属于同一个王国,当且仅当存在一条路径从 aabb 且从 bbaa。你的任务是确定每个行星所属的王国。

输入格式

第一行包含两个整数 nnmm,分别表示行星的数量和传送门的数量。行星编号为 1,2,,n1,2,\ldots,n

接下来有 mm 行,每行包含两个整数 aabb,表示从行星 aa 可以通过传送门到达行星 bb

输出格式

首先输出一个整数 kk,表示王国的数量。

然后,对于每个行星,输出一个王国标签,标签范围在 11kk 之间。你可以输出任何有效的解。

样例

5 6
1 2
2 3
3 1
3 4
4 5
5 4
2
1 1 1 2 2

数据范围与提示

  • 1n1051 \le n \le 10^5
  • 1m21051 \le m \le 2 \cdot 10^5
  • 1a,bn1 \le a,b \le n