만드는 중입니다

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

배열 회전

면접 대비

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

요약
N×N 배열에 행을 한 칸 오른쪽으로 미는 연산과 90도 회전 연산을 순서대로 적용한 뒤 최종 배열을 출력합니다.
난이도

쉬움10점 중 3점

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

문제

스킵이는 N×NN\times N 크기의 2차원 배열을 가지고 있다. 귀여운 배열을 보던 스킵이는 배열이 멋대로 돌아가는 것을 발견했다. 배열을 돌리는 연산은 두 가지가 있다.

  • 1 i: i(1≤i≤N)i(1 \leq i \leq N)번째 행을 선택한다. 선택한 행의 마지막 원소를 삭제하고 첫 번째 원소 앞에 추가한다.
  • 2: 새로운 배열 AA를 만든다. 원래 배열의 ii번째 행 jj번째 열의 원소는 AA의 jj번째 행 N−i+1N-i+1번째 열의 원소가 된다. 그 후 현재 배열을 AA로 바꾼다.

배열에 수행한 연산이 순서대로 주어진다. 모든 연산을 수행했을 때 최종적으로 돌아간 배열의 원소를 출력하자.

입력

첫 번째 줄에 2차원 배열의 크기 NN이 주어진다. (1≤N≤100)(1\leq N\leq 100)

그다음 줄부터 NN개의 줄에는 배열의 원소가 공백으로 구분되어 주어진다. 배열의 모든 원소는 1 0001\,000 이하의 양의 정수이다.

그다음 줄에는 배열에 수행한 연산의 개수 QQ가 주어진다. (1≤Q≤100)(1\leq Q\leq 100)

그다음 줄부터 QQ개의 줄에는 배열에 수행한 연산이 차례대로 주어진다.

출력

모든 연산을 수행한 배열을 NN개의 줄에 출력한다. 같은 행의 원소는 공백으로 구분하고, 각 행은 개행문자로 구분한다.

예제4

  1. 예제 1

    입력
    2
    1 5
    5 7
    1
    2
    
    예상 출력
    5 1
    7 5
    
  2. 예제 2

    입력
    1
    1000
    2
    2
    2
    
    예상 출력
    1000
    
  3. 예제 3

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

    입력
    3
    121 434 211
    344 677 666
    111 222 333
    3
    1 1
    1 2
    1 2
    
    예상 출력
    211 121 434
    677 666 344
    111 222 333