아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Calvinball championship, again 2

시간 제한1초메모리 제한256 MB

요약
서로 싫어하는 쌍이 같은 팀에 속하지 않도록 n명의 선수를 가장 적은 팀으로 나눕니다.
난이도

어려움10점 중 9점

유형
그래프, 백트래킹, 완전 탐색
정답자
아직 제출이 없습니다

문제

Calvinball 경기에 nn명의 선수가 있다. 일부 쌍은 서로 싫어하며, 이 관계는 대칭이다. 싫어하는 두 선수가 같은 팀에 없도록 나누되, 팀 수를 최소로 하라. 가능한 분할 하나를 출력한다.

입력

첫 줄: 선수 수 nn, 싫어함 쌍 수 mm. 다음 mm줄: 서로 싫어하는 선수 aia_i, bib_i (1≤ai,bi≤n1 \leq a_i, b_i \leq n).

출력

첫 줄에 팀 수 tt. 다음 tt줄에 각 팀의 선수 번호를 공백으로 출력한다. 팀과 팀 내 순서는 아무거나 된다.

힌트

대량 채점 데이터는 별도로 제공될 수 있다. 위 예제는 일반 stdin/stdout 케이스이다.

예제4

  1. 예제 1

    입력
    6 7
    1 6
    2 6
    3 6
    4 6
    5 6
    5 4
    2 4
    
    예상 출력
    3
    6
    1 3 4
    2 5
    
  2. 예제 2

    입력
    3 3
    1 2
    2 3
    1 3
    
    예상 출력
    3
    1
    2
    3
    
  3. 예제 3

    입력
    4 2
    1 2
    3 4
    
    예상 출력
    2
    1 3
    2 4
    
  4. 예제 4

    입력
    2 1
    1 2
    
    예상 출력
    2
    1
    2