6785.Planets and Kingdoms

Time Limit: 1s Memory Limit: 512MB

A game has $n$ planets, connected by $m$ teleporters. Two planets $a$ and $b$ belong to the same kingdom exactly when there is a route both from $a$ to $b$ and from $b$ to $a$ . Your task is to determine for each planet its kingdom.

Input Format(From the terminal/stdin)

The first input line has two integers $n$ and $m$ : the number of planets and teleporters. The planets are numbered $1,2,\dots,n$ .

After this, there are $m$ lines describing the teleporters. Each line has two integers $a$ and $b$ : you can travel from planet $a$ to planet $b$ through a teleporter.

  • $1 \le n \le 10^5$
  • $1 \le m \le 2 \cdot 10^5$
  • $1 \le a,b \le n$

Output Format(To the terminal/stdout)

First print an integer $k$ : the number of kingdoms. After this, print for each planet a kingdom label between $1$ and $k$ . You can print any valid solution.

Sample Input

Copy
5 6
1 2
2 3
3 1
3 4
4 5
5 4
 · \n
 · \n
 · \n
 · \n
 · \n
 · \n
 · \n

Sample Output special judge

Copy
2
1 1 1 2 2
 \n
 · · · · \n
Source: CSES, Graph Algorithms, 1683

Submit

请先 登录

© 2025 FAQs