문제1493--배열로 연산하기

1493: 배열로 연산하기

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 512 MB  제출 : 3  맞은 사람 : 2

제출  

문제 설명

크기가 N×M인 배열을 가지고, 연산을 하려고 한다.
적용하려는 연산의 종류는 총 4가지이다.
1번 연산 : 상하 반전
1 2 3 4 5 6 → 6 7 8 9 0 1
2 3 4 5 6 7 → 5 6 7 8 9 0
3 4 5 6 7 8 → 4 5 6 7 8 9
4 5 6 7 8 9 → 3 4 5 6 7 8
5 6 7 8 9 0 → 2 3 4 5 6 7
6 7 8 9 0 1 → 1 2 3 4 5 6
   <배열>     <연산 결과>
2번 연산 : 좌우 반전
1 2 3 4 5 6 → 6 5 4 3 2 1
2 3 4 5 6 7 → 7 6 5 4 3 2
3 4 5 6 7 8 → 8 7 6 5 4 3
4 5 6 7 8 9 → 9 8 7 6 5 4
5 6 7 8 9 0 → 0 9 8 7 6 5
6 7 8 9 0 1 → 1 0 9 8 7 6
   <배열>     <연산 결과>
3번 연산 : 오른쪽으로 90도 회전
1 2 3 4 5 6 → 6 5 4 3 2 1
2 3 4 5 6 7 → 7 6 5 4 3 2
3 4 5 6 7 8 → 8 7 6 5 4 3
4 5 6 7 8 9 → 9 8 7 6 5 4
5 6 7 8 9 0 → 0 9 8 7 6 5
6 7 8 9 0 1 → 1 0 9 8 7 6
   <배열>     <연산 결과>
4번 연산 : 왼쪽으로 90도 회전
1 2 3 4 5 6 → 6 7 8 9 0 1
2 3 4 5 6 7 → 5 6 7 8 9 0
3 4 5 6 7 8 → 4 5 6 7 8 9
4 5 6 7 8 9 → 3 4 5 6 7 8
5 6 7 8 9 0 → 2 3 4 5 6 7
6 7 8 9 0 1 → 1 2 3 4 5 6
   <배열>     <연산 결과>

입력 설명

첫째 줄에 배열의 크기 N, M(2 ≤ N, M ≤ 100 && N, M은 짝수)과 수행해야 하는 연산의 수 R(1 ≤ R ≤ 1,000)이 주어진다. 
둘째 줄부터 N개의 줄에 배열 A의 원소가 주어진다.(0 ≤ A[i][j] ≤ 108)
마지막 줄에는 수행해야 하는 연산이 주어진다. 연산은 공백으로 구분되어져 있고, 문제에서 설명한 연산 번호이며, 순서대로 적용시켜야 한다.

출력 설명

입력으로 주어진 R개의 연산 결과를 순서대로 출력한다.

입력 예시1 Copy

6 6 1
1 2 3 4 5 6 
2 3 4 5 6 7 
3 4 5 6 7 8 
4 5 6 7 8 9 
5 6 7 8 9 0 
6 7 8 9 0 1
1

출력 예시1 Copy

6 7 8 9 0 1
5 6 7 8 9 0
4 5 6 7 8 9
3 4 5 6 7 8
2 3 4 5 6 7
1 2 3 4 5 6

입력 예시2 Copy

6 6 1
1 2 3 4 5 6 
2 3 4 5 6 7 
3 4 5 6 7 8 
4 5 6 7 8 9 
5 6 7 8 9 0 
6 7 8 9 0 1
3

출력 예시2 Copy

6 5 4 3 2 1
7 6 5 4 3 2
8 7 6 5 4 3
9 8 7 6 5 4
0 9 8 7 6 5
1 0 9 8 7 6

입력 예시3 Copy

6 6 4
1 2 3 4 5 6 
2 3 4 5 6 7 
3 4 5 6 7 8 
4 5 6 7 8 9 
5 6 7 8 9 0 
6 7 8 9 0 1
1 2 3 4

출력 예시3 Copy

1 0 9 8 7 6
0 9 8 7 6 5
9 8 7 6 5 4
8 7 6 5 4 3
7 6 5 4 3 2
6 5 4 3 2 1

출처/분류