#T2107. 行星与王国(Planets and Kingdoms)

行星与王国(Planets and Kingdoms)

链接: https://cses.fi/problemset/task/1683

板块: Graph Algorithms

时限: 1.00 s | 内存: 512 MB

题目描述

一个游戏有 nn 个行星,由 mm 个传送器相连。两个行星 aabb 属于同一个王国,当且仅当存在一条从 aabb 的路线,也存在一条从 bbaa 的路线。你的任务是为每个行星确定它所属的王国。

输入

第一行输入包含两个整数 nnmm:行星数量和传送器数量。行星编号为 1,2,,n1,2,\dots,n

之后有 mm 行描述传送器。每行包含两个整数 aabb:你可以通过传送器从行星 aa 到达行星 bb

输出

先输出一个整数 kk:王国的数量。之后为每个行星输出一个介于 11kk 之间的王国编号。你可以输出任意合法解。

数据范围

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

样例输入

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

样例输出

2
1 1 1 2 2