아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

격자 무늬

면접 대비

시간 제한10초메모리 제한512 MB

요약
각 테스트 케이스마다 너비 w, 높이 h인 셀을 별표로 채우고 파이프, 마이너스, 플러스로 격자 무늬를 출력한다.
난이도

쉬움10점 중 2점

유형
구현, 시뮬레이션, 문자열
정답자
아직 제출이 없습니다

문제

1970년대와 1980년대 유닉스 시스템에서 흔히 볼 수 있던 게임은 텍스트 모드로 만들어졌다. 이런 게임 대부분은 말이나 아이템을 행과 열에 배치하는 격자를 기본 배치로 쓴다. 틱택토, 체스, 지뢰 찾기가 대표적인 예다. 이런 게임에 쓸 수 있는 간단한 텍스트 기반 격자 배치 엔진을 만들어 보자.

주어진 크기에 맞춰 텍스트 격자 무늬를 출력하라. 세로선은 |(파이프), 가로선은 -(마이너스), 선이 만나는 곳은 +(플러스)로 출력한다. 나머지 칸은 모두 *(별표)로 채운다.

입력

첫째 줄에 테스트 케이스의 수 NN (1≤N≤1001 \le N \le 100)이 주어진다. 다음 NN개의 줄에는 각각 양의 정수 네 개 rowrow, colcol, ww, hh가 주어진다. rowrow는 행의 수, colcol은 열의 수이고, ww와 hh는 격자 한 칸의 너비와 높이다. (1≤row,col≤101 \le row, col \le 10, 1≤w,h≤51 \le w, h \le 5)

출력

각 테스트 케이스마다 먼저 Case #x: 형식으로 한 줄을 출력한다. xx는 1부터 시작하는 테스트 케이스 번호다. 이어서 격자 무늬를 출력한다.

격자 무늬는 row⋅(h+1)+1row \cdot (h+1) + 1개의 줄로 이루어지고 각 줄의 길이는 col⋅(w+1)+1col \cdot (w+1) + 1이다. 가로 경계선 줄은 +로 시작하고 - ww개와 + 하나를 colcol번 이어 붙인 것이다. 칸 내부 줄은 |로 시작하고 * ww개와 | 하나를 colcol번 이어 붙인 것이다. 가로 경계선 줄로 시작하고, 각 행마다 칸 내부 줄 hh개와 가로 경계선 줄 하나가 이어진다. 형식은 예제 출력을 참고하라.

예제1

  1. 예제 1

    입력
    2
    2 2 2 2
    1 3 3 1
    
    예상 출력
    Case #1:
    +--+--+
    |**|**|
    |**|**|
    +--+--+
    |**|**|
    |**|**|
    +--+--+
    Case #2:
    +---+---+---+
    |***|***|***|
    +---+---+---+