Dưới đường chéo chính
Đề bài
Mô tả
Cho một ma trận vuông gồm dòng và cột. Các dòng được đánh số từ đến từ trên xuống dưới, các cột được đánh số từ đến từ trái sang phải.
Đúng ô của ma trận chứa số , tất cả các ô còn lại chứa số . Bạn được phép thực hiện hai loại thao tác:
- Đổi chỗ dòng và dòng của ma trận;
- Đổi chỗ cột và cột của ma trận.
Ô nằm ở giao của dòng và cột được gọi là nằm dưới đường chéo chính nếu .
Hãy đưa ma trận về dạng mà mọi số đều nằm dưới đường chéo chính, bằng cách sử dụng các thao tác trên.
Bạn không cần cực tiểu hoá số thao tác, nhưng số thao tác không được vượt quá . Trong mọi thao tác, hai chỉ số và phải khác nhau. Nếu có nhiều đáp án, in ra đáp án bất kỳ.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên , kích thước của ma trận.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và , mô tả một ô chứa số nằm ở dòng và cột .
Dữ liệu đảm bảo tất cả các vị trí đã cho là đôi một khác nhau.
Dữ liệu ra
- Dòng đầu tiên in ra số nguyên không âm , số thao tác cần thực hiện.
- dòng tiếp theo, mỗi dòng in ra ba số nguyên , , : nếu đổi chỗ hai dòng, nếu đổi chỗ hai cột, còn và là chỉ số của hai dòng (hoặc hai cột) được đổi chỗ.
Ràng buộc
- , ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 1 1 3 |
3 2 2 3 2 1 2 1 1 2 |
Sau khi đổi chỗ cột 2 với cột 3, hai số nằm ở và . Đổi chỗ cột 1 với cột 2 đưa chúng về và . Cuối cùng đổi chỗ dòng 1 với dòng 2 cho kết quả và , cả hai đều thoả . |
| 2 1 2 |
2 2 1 2 1 1 2 |
Số ban đầu ở . Đổi chỗ hai cột đưa nó về , đổi chỗ hai dòng đưa nó về . Đáp án khác cũng được chấp nhận nếu hợp lệ. |
| 3 2 1 3 2 |
0 | Cả hai số đã nằm dưới đường chéo chính, không cần thao tác nào. |
Bình luận