양갈래 배열 출력하기

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

요약
한 변의 중심에서 시작해 양쪽으로 달팽이 껍질 모양으로 퍼지며 N×M 배열을 양갈래 배열로 채워 출력한다.
난이도

보통10점 중 5점

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

문제

양갈래 배열이란 직사각형 형태의 2차원 배열의 한 변의 중심에서 시작해서 달팽이 껍질 모양으로 양 쪽으로 퍼져나가는 배열을 의미한다.

예시를 보자.

아래는 3×53 \times 5 크기의 2차원 배열의 위쪽 변의 중심에서 시작한 양갈래 배열이다.

아래는 4×74 \times 7 크기의 2차원 배열의 아래쪽 변의 중심에서 시작한 양갈래 배열이다.

아래는 3×43 \times 4 크기의 2차원 배열의 왼쪽 변의 중심에서 시작한 양갈래 배열이다.

아래는 5×55 \times 5 크기의 2차원 배열의 오른쪽 변의 중심에서 시작한 양갈래 배열이다.

위쪽 변, 아래쪽 변, 왼쪽 변, 오른쪽 변은 각각 양갈래 배열의 11번째 행, NN번째 행, 11번째 열, MM번째 열을 말한다.

출력할 배열의 행의 개수, 열의 개수, 시작 위치가 주어질 때 양갈래 배열을 출력해보자.

입력

첫 번째 줄에 출력해야 할 배열의 행의 개수 NN, 열의 개수 MM 이 주어진다. (3≤N,M≤2,0003 \le N, M \le 2\\,000)

두 번째 줄에 시작 위치가 주어진다. 시작 위치가 위쪽 변의 중심이면 U, 아래쪽 변의 중심이면 D, 왼쪽 변의 중심이면 L, 오른쪽 변의 중심이면 R로 주어진다.

단, 시작 위치가 U이거나 D인 경우 MM은 반드시 홀수이며, L이나 R인 경우 NN이 반드시 홀수이다.

출력

NN개의 줄에 걸쳐 양갈래 배열의 각 행에 있는 MM개의 수를 공백으로 구분하여 순서대로 출력한다.

예제4

  1. 예제 1

    입력
    3 5
    U
    
    예상 출력
    7 8 1 8 7
    6 9 2 9 6
    5 4 3 4 5
    
  2. 예제 2

    입력
    4 7
    D
    
    예상 출력
    7 6 5 4 5 6 7
    8 15 14 3 14 15 8
    9 16 13 2 13 16 9
    10 11 12 1 12 11 10
    
  3. 예제 3

    입력
    3 4
    L
    
    예상 출력
    8 7 6 5
    1 2 3 4
    8 7 6 5
    
  4. 예제 4

    입력
    5 5
    R
    
    예상 출력
    7 8 9 10 11
    6 15 14 13 12
    5 4 3 2 1
    6 15 14 13 12
    7 8 9 10 11