DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

3 super coloring

문제로 돌아가기

해설

반대 그래프를 직접 생각하면 조건이 복잡해 보일 수 있다. 원래 그래프에서 두 정점 u,vu, vu,v의 관계를 기준으로 조건을 다시 쓰자.

반대 그래프에서 간선으로 연결된 두 정점은 서로 다른 색이어야 한다. 이는 원래 그래프에서 간선으로 연결되어 있지 않은 두 정점은 서로 다른 색이어야 한다는 뜻이다.

반대 그래프에서 간선으로 연결되어 있지 않은 두 정점은 서로 같은 색이어야 한다. 이는 원래 그래프에서 간선으로 연결된 두 정점은 서로 같은 색이어야 한다는 뜻이다.

따라서 원래 그래프에서는 다음 조건이 성립해야 한다.

  • 간선으로 연결된 두 정점은 같은 색이어야 한다.
  • 간선으로 연결되어 있지 않은 두 정점은 서로 다른 색이어야 한다.

이 조건으로부터, 같은 연결 요소 안의 모든 정점은 같은 색이어야 한다. 왜냐하면 간선을 따라 이동할 때마다 색이 같아야 하기 때문이다.

또한 같은 색을 가진 두 정점은 반드시 간선으로 연결되어 있어야 한다. 그러므로 각 연결 요소는 완전 그래프여야 한다.

결국 조건은 다음과 동치이다.

  • 원래 그래프의 연결 요소 개수가 333개 이하이다.
  • 모든 연결 요소가 완전 그래프이다.

연결 요소는 DSU 또는 DFS/BFS로 구할 수 있다. 어떤 연결 요소의 크기가 kkk라면, 그 연결 요소가 완전 그래프이기 위한 필요충분조건은 그 안의 모든 정점의 차수가 정확히 k−1k-1k−1인 것이다.

따라서 모든 간선을 DSU로 합친 뒤, 각 연결 요소의 크기를 구한다. 연결 요소가 333개보다 많으면 불가능하다. 그렇지 않다면 각 정점 vvv에 대해

deg⁡(v)=size⁡(component⁡(v))−1\deg(v) = \operatorname{size}(\operatorname{component}(v)) - 1deg(v)=size(component(v))−1

인지 확인한다. 모든 정점이 이 조건을 만족하면 가능하고, 각 연결 요소에 서로 다른 색을 배정하면 된다.

시간 복잡도는 O((n+m)α(n))O((n+m)\alpha(n))O((n+m)α(n))이고, 메모리 사용량은 O(n+m)O(n+m)O(n+m)이다.