C6-10 · Ma trận chuyển vị

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Cho ma trận ~A~ gồm ~m~ dòng, ~n~ cột. Ma trận chuyển vị ~A^T~ có ~n~ dòng, ~m~ cột, với dòng thứ ~j~ của ~A^T~ chính là cột thứ ~j~ của ~A~: ~A^T[j][i] = A[i][j]~. Hãy in ~A^T~.

Dữ liệu vào

  • Dòng 1: hai số nguyên ~m~ và ~n~.
  • ~m~ dòng tiếp theo, mỗi dòng ~n~ số nguyên, cách nhau một dấu cách.

Kết quả

~n~ dòng; dòng thứ ~j~ gồm ~m~ phần tử của cột ~j~ (từ trên xuống), cách nhau một dấu cách.

Ràng buộc

  • ~1 \le m, n \le 100~.
  • Mỗi phần tử nằm trong ~[-10^9;\ 10^9]~.

Ví dụ

Dữ liệu vào:

2 3
1 2 3
4 5 6

Kết quả:

1 4
2 5
3 6

Giải thích ví dụ

Ma trận có 2 dòng, 3 cột. Cột 1 là 1 4, cột 2 là 2 5, cột 3 là 3 6; mỗi cột thành một dòng của kết quả, nên kết quả có 3 dòng, mỗi dòng 2 số.

Lưu ý

  • Bảng không vuông là chuyện thường: vòng ngoài chạy ~n~ cột, vòng trong chạy ~m~ dòng. Viết nhầm m/n thì chỉ đúng khi ~m = n~.
  • Nếu tạo bảng kết quả trước, phải tạo từng dòng trong vòng lặp; [[0] * m] * n cho ~n~ tên cùng trỏ vào một dòng (mục 6.6, 6.7).
  • Bộ test có bảng 1 × 1, 1 × 100, 100 × 1, 100 × 100, bảng đối xứng.

Nguồn trong sách: Bài C6-10, mục 6.12, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (***)


Đang tải...