흰색(White) 도화지 위에 빨강(Red), 노랑(Yellow), 파랑(Blue)의 세 가지 색깔을 가진 직사각형 모양의 셀로판지들을 붙여서 서로 겹쳐진 부분의 색이 바꾸어지는 것을 관찰해보자.
이 때, 셀로판지의 모든 변들은 도화지의 양변에 각각 평행하도록 반듯하게 놓여지며, 셀로판지들이 서로 겹쳐진 경우의 색깔은 다음과 같이 정의되어 있다.
- 빨강 + 노랑 = 주황(orange)
- 빨강 + 파랑 = 보라(magenta)
- 노랑 + 파랑 = 녹색(green)
- 빨강 + 노랑 + 파랑 = 검정(black)
단, 같은 색깔의 셀로판지가 겹쳐지는 경우에는 색깔이 변하지 않는다고 가정한다.
예를 들면, 빨강 + 빨강은 그대로 빨강이며, 빨강 + 파랑 + 파랑 은 보라로 남아 있고, 빨강 + 노랑 + 파랑 + 노랑은 역시 검정이다. 아래 그림은 도화지 위에 각 색깔별로 2장씩 모두 여섯 장의 셀로판지를 붙인 모습을 나타내고 있 다. 이 때, 색깔 표시는 검은색만 예외적으로 ‘K’로 하고 나머지 색깔은 모두 영문표시의 첫 글자로 나타내기로 한다.
이제 각각의 셀로판지에 대하여 크기와 색깔, 그리고 도화지위에 붙일 위치를 정해주었을 때, 특별히 지정한 색깔을 가진 영역의 면적을 구하는 프로그램을 작성하여라.
단, 도화지의 크기는 가로와 세로가 모두 20㎝로 고정되어 있으며, 셀로판지가 도화지 밖으로 나가는 경우는 없다고 가정한다. 또한, 도화지의 밑변 왼쪽 꼭지점의 좌표를 (0,0)이라고 정의할 때, 원점을 기준으로 각 셀로판지의 꼭지점 좌표를 나타내며 단위표시는 생략하기로 한다.
각 셀로판지의 색깔은 R, Y, B와 같이 영문자로 표시되 며, 셀로판지의 크기와 도화지 위에 붙일 위치는 윗변 왼쪽의 꼭지점 좌표와 밑변 오른쪽 꼭지점의 좌표가 순서쌍으로 주어진다. 모든 셀로판지들의 색깔과 크기, 그리고 도화지 위에 붙일 위치에 대한 입력이 끝난 뒤에, 면적을 구하고자 하는 영역의 색깔은 W, R, Y, B, O, M, G, K 중에서 한가지 선택하여 주어진다. 특히, 한 장의 셀로판지도 붙이지 않은 영역은 도화지 색깔이 원래 흰색이므로 W(White)도 면적을 구 하고자하는 영역의 색깔로 선택될 수 있음에 유의한다.
입력 3 R 1 4 4 1 B 3 5 7 2 Y 2 7 5 3 G 출력 3
출처: 대전 중등부 기출