Sắp xếp một cột của ma trận (MT05)
Đề bài
Nhập vào ma trận $A$ gồm $m$ dòng và $n$ cột các số nguyên và một số nguyên $k$. Hãy sắp xếp tăng dần từ trên xuống dưới các phần tử trên cột thứ $k$ của ma trận (các cột được đánh số từ $1$ đến $n$ từ trái sang phải). Chỉ các số trong cột $k$ được đổi chỗ cho nhau, mọi cột khác giữ nguyên. In ma trận sau khi sắp xếp.
Dữ liệu vào:
- Dòng đầu tiên gồm ba số nguyên dương $m$, $n$ và $k$.
- Dòng thứ hai gồm $m \times n$ số nguyên là các phần tử của ma trận $A$, cho lần lượt theo từng hàng.
Kết quả:
In ra ma trận sau khi sắp xếp dưới dạng bảng: $m$ dòng, mỗi dòng $n$ số cách nhau một dấu cách.
Giới hạn:
- $2 \le m, n \le 100$
- $1 \le k \le n$
- $|A_{ij}| \le 10^4$
Giới hạn thời gian: 1 giây, bộ nhớ: 512 MB. Dữ liệu nhập từ bàn phím và in ra màn hình.
3 3 1
3 5 4 5 4 3 4 5 63 5 4
4 4 3
5 5 6Giải thích:
Ma trận ban đầu:
3 5 4
5 4 3
4 5 6
Cột thứ $1$ là $(3, 5, 4)$ (từ trên xuống), sau khi sắp xếp tăng dần thành $(3, 4, 5)$; cột 2 và cột 3 giữ nguyên.
Bấm vào nút bên dưới để nộp bài và được hệ thống CLUE OJ chấm tự động.
Nộp bài trên CLUE OJÝ tưởng
Cột thứ $k$ (đếm từ 1) là cột chỉ số $c = k - 1$. Em coi các ô a[0][c], a[1][c], ..., a[m-1][c] như một mảng một chiều và sắp xếp tăng dần từ trên xuống — chỉ đổi chỗ hai ô trong cột này, không đụng tới các cột khác.
Ví dụ k = 1, cột 0 từ trên xuống là 3 5 4 → sau sắp xếp 3 4 5, nên ma trận thành 3 5 4 / 4 4 3 / 5 5 6.
Lưu ý / bẫy thường gặp
- $k$ đánh số từ 1, chỉ số cột là $k - 1$.
- Không được đổi chỗ cả hàng theo giá trị ở cột $k$ (đó là "sắp xếp các hàng theo cột k", khác đề): chỉ các số trong cột $k$ di chuyển.
- Sắp xếp cột, không phải hàng; tăng dần, không phải giảm dần.
- Python: nhớ đổi sang số nguyên trước khi sắp xếp.
Lời giải
Code chuẩn bên dưới đã chấm đúng toàn bộ 20 test trên CLUE OJ.
- Không biết học gì trước, học gì sau, học lan man nên kiến thức bị hổng.
- Bí bài không ai gỡ, ngồi cả buổi vẫn không ra rồi bỏ cuộc.
- Code chạy được nhưng không đủ điểm, không biết sai ở đâu, chậm ở đâu.
- Không có đề thi thử và người chấm, nên không biết mình đang ở mức nào.
- Dễ nản giữa chừng khi không có ai theo sát.
- Lộ trình 111 buổi video sắp sẵn từ dòng code đầu tiên đến đề HSG thật của các tỉnh.
- Thầy trực tiếp gỡ bí, chữa bài cho từng em qua nhóm Zalo riêng.
- Hệ thống chấm bài tự động 24/7 và thi thử HSG hằng tuần để biết chính xác mình đang ở đâu.
- Đóng học phí một lần, thầy kèm lâu dài: từ thi chuyên Tin đến HSG quốc gia và cả khi lên đại học.
Nhận xét
Đăng nhận xét