6750.Building Teams

Time Limit: 2s Memory Limit: 512MB

There are $n$ pupils in Uolevi's class, and $m$ friendships between them. Your task is to divide the pupils into two teams in such a way that no two pupils in a team are friends. You can freely choose the sizes of the teams.

Input Format(From the terminal/stdin)

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

Then, there are $m$ lines describing the friendships. Each line has two integers $a$ and $b$ : pupils $a$ and $b$ are friends.

Every friendship is between two different pupils. You can assume that there is at most one friendship between any two pupils.

  • $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)

Print an example of how to build the teams. For each pupil, print "1" or "2" depending on to which team the pupil will be assigned. You can print any valid team.

If there are no solutions, print "IMPOSSIBLE".

Sample Input

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

Sample Output

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

Submit

请先 登录

© 2025 FAQs