크기의 격자 모양의 스케치북과 다양한 크기의 색종이들을 가지고 있다. 위에서 부터 번째 행, 왼쪽에서 부터 번째 열에 해당하는 격자는 번 격자라고 부른다. 예를 들어, 가장 왼쪽 위의 격자는 , 오른쪽 아래의 격자는 번 격자다.
당신에겐 크기와 색을 마음대로 정할 수 있는 색종이가 개 주어진다. 색종이의 색은 이상 이하의 정수로 표현된다.
이 스케치북에 격자에 맞는 색종이들을 스케치북에 잘 붙여서 원하는 그림의 모양을 만들고자 한다. 각 격자의 색상은 마지막에 붙인 색종이의 색상이 된다. 단, 각 격자에 붙어있는 색종이가 반드시 있도록 붙여야한다.
색종이들을 적게 사용해서 원하는 그림을 만드는 방법을 구하여라.
첫째 줄에는 세로의 길이 , 가로의 길이 , 사용할 수 있는 색종이의 개수 가 공백으로 구분되어 주어진다.
다음 개의 줄에는 이상 이하의 정수 개가 공백으로 구분되어 주어진다. 번째 줄의 번째 수는 원하는 그림의 번 격자의 색을 의미한다.
는 별도로 입력으로 주어지지 않는다. 에 관련해서는 아래 입력 데이터 및 생성 방법을 참고하자.
첫째 줄에 사용한 색종이의 개수 를 출력한다.
다음 개의 줄에는 색종이를 붙인 순서대로 색종이에 대한 정보를 줄로 구분하여 출력한다. 색종이의 정보는 , , , , 를 차례로 공백으로 구분하여 출력한다. 이는 사용한 색종이의 왼쪽 위 격자가 , 오른쪽 아래 격자가 , 색이 라는 것을 의미한다. (, , 를 만족하게 출력해야 한다.)
개의 입력 데이터는 다음의 , , , 가 주어진다.
# | ||||
---|---|---|---|---|
, 번 데이터를 제외하고는, 각 칸을 이상 이하의 수를 랜덤으로 정하여 생성되었다. , 번 데이터는 첫번째 직사각형으로 전체를 덮은 후, 직사각형 개를 랜덤하게 생성하여 덮는 방법으로 생성되었다.
는, , , , 번 데이터의 경우에는 최소의 가능한 색종이 개수 로, 번, 번의 경우 데이터를 만들 때 사용한 직사각형의 갯수로, 번, 번의 경우 로, 번, 번의 경우에는 로 결정되었다.
배점은 각 테스트 데이터당 점이다.
혹은, 색종이를 붙였을 때 그림이 일치하지 않으면, 점을 받는다.
이면 점, 이면, 일때 점, 일때 점을 기준으로 점수가 선형으로 주어진다. 즉, 점수는
이다. 그 후, 각 테스트케이스의 점수는 단위로 버림된다.
3 3 3 2 2 2 2 1 2 2 1 2
5 1 1 2 2 3 2 3 3 3 1 1 1 2 3 2 2 1 3 3 2 2 2 3 2 1
이 출력에서는 5개의 색종이를 사용해서 그림을 만들었다. 그림이 일치하고, , , 이기 때문에, 해당하는 점수는 점이다.
이 문제는 풀이 소스코드를 제출하지 않고, 각 테스트케이스의 입력데이터를 다운받아 알맞은 출력 파일을 만들어 출력 파일만을 제출하는 문제다.