창 관리하기 > 문제은행

본문 바로가기


실전대비 Level2

1136 : 창 관리하기

제한시간: 1000 ms    메모리제한: 64 MB
해결횟수: 45 회    시도횟수: 186 회   



당신은 고정 크기의 문자(모든 문자의 너비와 높이가 같음) 로 이뤄진 사각형 격자 화면의 GUI를 위한 창 관리자를 만들어야 한다.

 

화면은 너비와 높이를 가진다. 초기에 화면은 공백문자(' ', 아스키코드 32)로 채워져 있다. 창을 만들게 되면 먼저 생성된 창이 찍히게 된다. 창의 모양은 아래와 같다.

 

+----+
|XXXX|
|XXXX|
+----+

 

창틀의 네 개의 꼭지는 '+' 문자로 표시되고, 틀의 맨 위와 아래는 '-' 문자로 표시되며, 맨 왼쪽과 오른쪽은 '|'로 표시되어진다. 그리고 창의 안에는 특정 문자 'X'로 채워진다.

 

창을 만드는 명령은 'tlv tlh vs hs fill'로 구성되어 있다. tlv는 세로 좌표, tlh는 가로 좌표 vs는 세로의 길이, hs는 가로의 길이, 마지막으로 fill은 채워지게 되는 특정 문자 'X'를 뜻한다. tlv와 tlh는 -100,000,000 이상 100,000,000 이하의 정수로 입력된다. vs와 hs는 2 이상 100,000,000 이하로 입력된다. fill은 33 이상 126 이하의 임의의 아스키 문자가 입력이 된다.

 

화면의 맨 위의 왼쪽 좌표는 (0,0), 맨 아래 오른쪽 좌표는 (높이-1, 너비-1) 이 된다. 만약 그려야 하는 창의 좌표가 이를 벗어나는 경우, 범위에 포함되는 것들만 출력한다.

 

하나의 창이 생성 된 다음에 나중에 새로운 창이 생성되고 이 두개의 창이 겹치게 될 경우, 나중에 생성된 창을 위에 보이게 해야 한다.

 

화면의 크기와, 창을 생성하는 명령이 입력되었을 때 화면의 상태를 출력하는 프로그램을 작성하라.


처음에는 창의 높이와 너비가 정수로 입력되며, 1이상 100 이하의 수로 입력된다. 높이와 너비의 곱은 8,000 을 넘지 않는다. 그 다음 옆에는 창의 개수 N(N≤50)이 입력된다. 그 다음 줄에는 한 줄에 창을 생성하는 명령이 입력되며, 먼저 나온 것이 먼저 생성되는 창이 된다. 창을 생성하는 명령은 위에서 설명한 'tlv tlh vs hs fill'(따옴표 제외) 의 형태로 입력된다.



창이 모두 생성 된 다음의 화면을 출력한다. 출력형식은 아래의 예제를 참고하도록 한다.


[Copy]
4 6 3 
-5 -5 20 20 O 
0 0 2 2 Y 
0 0 4 6 X
[Copy]
+----+
|XXXX|
|XXXX|
+----+


[Copy]
5 5 1 
-150 -150 250 250 L
[Copy]
LLLLL
LLLLL
LLLLL
LLLLL
LLLLL






HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.