만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

달력

시간 제한1초메모리 제한1024 MB

요약
날짜 수 n과 시작 요일 d가 주어질 때, 일곱 칸으로 된 달력을 '+', '-', '|' 문자로 테두리를 그려 출력합니다.
난이도

쉬움10점 중 2점

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

문제

Magdalena는 달력을 좋아해서 달마다 직접 달력을 만든다.

달의 각 날짜는 정확히 세 글자로 표시한다.

  • 날짜가 한 자리 수이면 '..X'로 표시한다. 예를 들어 7은 '..7'로 표시한다.
  • 날짜가 두 자리 수이면 '.XY'로 표시한다. 예를 들어 17은 '.17'로 표시한다.

달력의 각 행은 7일로 이루어진 한 주를 나타낸다. 주에 7일이 모두 없으면(달이 월요일에 시작하지 않거나 일요일에 끝나지 않아서) 빠진 날은 '...'로 채운다.

Magdalena는 다음과 같이 달력을 꾸민다. 위아래 변은 '-'(ASCII 45)로, 좌우 변은 '|'(ASCII 124)로, 모서리는 '+'(ASCII 43)로 채운다.

예를 들어 31일이 있고 수요일에 시작하는 달은 다음과 같다.

+---------------------+
|........1..2..3..4..5|
|..6..7..8..9.10.11.12|
|.13.14.15.16.17.18.19|
|.20.21.22.23.24.25.26|
|.27.28.29.30.31......|
+---------------------+

입력

첫 번째이자 유일한 줄에 정수 n과 d가 주어진다 (1 ≤ n ≤ 99, 1 ≤ d ≤ 7). n은 달의 날짜 수이고, d는 달이 시작하는 요일이다. 예를 들어 d가 1이면 월요일, 5이면 금요일에 시작한다.

출력

Magdalena의 달력 형식을 출력한다.

힌트

두 번째 예시에서는 날짜가 하나뿐이지만, 달력은 여전히 한 주에 7일 칸씩 가지는 형식을 유지한다.

예제3

  1. 예제 1

    입력
    31 3
    
    예상 출력
    +---------------------+
    |........1..2..3..4..5|
    |..6..7..8..9.10.11.12|
    |.13.14.15.16.17.18.19|
    |.20.21.22.23.24.25.26|
    |.27.28.29.30.31......|
    +---------------------+
    
  2. 예제 2

    입력
    1 5
    
    예상 출력
    +---------------------+
    |..............1......|
    +---------------------+
    
  3. 예제 3

    입력
    28 7
    
    예상 출력
    +---------------------+
    |....................1|
    |..2..3..4..5..6..7..8|
    |..9.10.11.12.13.14.15|
    |.16.17.18.19.20.21.22|
    |.23.24.25.26.27.28...|
    +---------------------+