4색 정리
시간 제한4초메모리 제한1024 MB
평면 그래프와 금지된 색 쌍 최대 6개가 주어질 때, 간선으로 이어진 두 정점에 금지된 색 쌍이 놓이지 않도록 4색 칠하기를 찾거나 -1을 출력합니다.
문제
아래 조건을 만족하는 그래프 가 주어진다.
-
의 정점은 개, 간선은 개이며, 정점에는 번부터 번까지 정수 번호가 매겨져 있다.
-
다음 과정으로 그린 그림의 선분은 원의 둘레를 제외한 원의 내부에서 교차하지 않는다.
- 원을 그리고, 원 위에 일정한 간격으로 개의 점을 찍는다. 이 점을 순서대로 , , 이라 하자.
- 에서 번 정점과 번 정점이 연결되어 있다면, 점 와 점 를 선분으로 잇는다.
예를 들어, , 일 때 조건을 만족하는 그래프는 다음과 같다.

반면, 다음은 조건을 만족하는 그래프가 아니다.

그래프 를 색칠한다는 것은 간선으로 연결된 두 정점의 색이 서로 다르도록 모든 정점에 색을 부여하는 것이다.
입력 조건을 만족하는 그래프는 어떤 것이든 4개의 색으로 항상 색칠할 수 있다.
색칠에 쓰는 서로 다른 4개의 색을 각각 , , , 라고 하자.
이하의 양의 정수로 이루어진 서로 다른 개의 순서쌍 가 주어진다. 색이 인 정점과 색이 인 정점을 잇는 간선이 없도록 를 색칠하여라.
입력
첫 줄에 정점 수 , 간선 수 , 순서쌍 수 가 공백을 사이에 두고 주어진다. (; ; )
에 대해, 번째 줄에는 간선 정보 , 가 공백을 사이에 두고 주어진다. (; 이면 ) 이는 의 번 정점과 번 정점이 연결되어 있다는 뜻이다.
에 대해, 번째 줄에는 , 가 주어진다. (; 이면 )
출력
조건을 만족하도록 색칠할 수 없다면 첫 줄에 -1만 출력한다.
조건을 만족하도록 색칠할 수 있다면 첫 줄에 개 정점의 색을 1번 정점부터 차례로 공백을 사이에 두고 출력한다.