Tráo đổi hàng cột

Xem PDF

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 1000M Input: bàn phím Output: màn hình

Cho một mảng 2 chiều (ma trận) \(A\) gồm \(n\) dòng và \(m\) cột. Có \(q\) truy vấn, mỗi truy vấn thuộc một trong 2 dạng sau:

  • 1 i j: Đổi chỗ hàng \(i\) và hàng \(j\).
  • 2 i j: Đổi chỗ cột \(i\) và cột \(j\).

In ra ma trận \(A\) sau khi thực hiện \(q\) thao tác. Các chỉ số hàng và cột được đánh số từ \(1\).

Input

  • Dòng đầu tiên chứa 3 số nguyên \(n, m, q\) (\(1 \le n, m, q \le 100\)).
  • \(n\) dòng tiếp theo, mỗi dòng chứa \(m\) số nguyên, thể hiện ma trận \(A\) (\(|A_{i,j}| \le 100\)).
  • \(q\) dòng tiếp theo, mỗi dòng là một truy vấn có dạng 1 i j (đổi hàng) hoặc 2 i j (đổi cột). Các chỉ số \(i, j\) là hợp lệ.

Output

  • In ra \(n\) dòng, mỗi dòng chứa \(m\) số nguyên, thể hiện ma trận \(A\) sau khi thực hiện \(q\) truy vấn. Các số trên cùng một dòng cách nhau bởi dấu cách.

Examples

Test 1

Input
3 3 1
1 2 3
4 5 6
7 8 9
1 1 3
Output
7 8 9
4 5 6
1 2 3
Explanation

Ma trận ban đầu:

1 2 3
4 5 6
7 8 9

Truy vấn 1 1 3 yêu cầu đổi chỗ hàng 1 và hàng 3.
Ma trận kết quả là:
7 8 9
4 5 6
1 2 3

Test 2

Input
2 3 2
1 2 3
4 5 6
2 1 3
1 1 2
Output
6 5 4
3 2 1
Explanation

Ma trận ban đầu:

1 2 3
4 5 6

Thực hiện truy vấn 2 1 3 (đổi cột 1 và cột 3):
3 2 1
6 5 4

Thực hiện tiếp truy vấn 1 1 2 (đổi hàng 1 và hàng 2):
6 5 4
3 2 1

Đây là ma trận cuối cùng.


Bình luận

Không có bình luận nào.