Cho ma trận vuông C = (cij) cấp N (1<= i, j <= N<=100) gồm N^2 số tự nhiên (các số không nhất
thiết phải khác nhau) ghi lại trong file matran.in theo khuôn dạng sau :
- Dòng đầu tiên ghi lại số tự nhiên N là cấp của ma trận vuông C;
- N dòng kế tiếp ghi lại ma trận vuông C = (cij). Hai phần tử khác nhau của ma trận
được ghi cách nhau bởi một vài khoảng trống.
Hãy sử dụng thuật toán quay lui viết chương trình lấy trên mỗi hàng, mỗi cột duy nhất
một phần tử của ma trận C sao cho tổng các phần tử này là nhỏ nhất. Kết quả tìm được
ghi lại trong file ketqua.out theo khuôn dạng: - Dòng đầu tiên ghi lại tổng giá trị nhỏ nhất của N phần tử tìm được;
- N dòng kế tiếp, mỗi dòng ghi lại ba số i, j, cij tương ứng với chỉ số hàng, chỉ số cột
và giá trị phần tử tương ứng của ma trận. Ba số được viết cách nhau một vài khoảng
trống.
Ví dụ về file matran.in và ketqua.out:
matran.in
6
10 64 57 29 18 15
34 20 19 30 16 12
57 49 40 16 11 19
29 21 46 26 21 18
28 16 11 21 21 37
15 12 15 48 37 30
ketqua.out
82
1 1 10
2 6 12
3 4 16
4 5 21
5 3 11
6 2 12