Các ma trận tối ưu (đối với phạm vi khá hẹp của thách thức này) thu được bằng cách "nén" các yếu tố từ các hàng tương ứng và cột của một ma trận vuông và nhận được tối đa của mỗi cặp.
Chẳng hạn, đưa ra ma trận sau:
4 5 6
1 7 2
7 3 0
Bạn có thể kết hợp nó với chuyển vị của nó để có được : [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Nếu bạn nén từng cặp danh sách, bạn có được những điều sau đây : [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. Bước cuối cùng là lấy tối đa của mỗi cặp để có được ma trận tối ưu:
4 5 7
5 7 3
7 3 0
Nhiệm vụ của bạn là xuất ra ma trận tối ưu của ma trận vuông được đưa ra làm đầu vào. Ma trận sẽ chỉ chứa số nguyên. I / O có thể được thực hiện trong bất kỳ định dạng hợp lý. Mã ngắn nhất tính bằng byte (bằng UTF-8 hoặc mã hóa tùy chỉnh của ngôn ngữ) sẽ thắng!
Xét nghiệm
[[172,29], [29,0]] -> [[172,29], [29,0]] [[4,5,6], [1,7,2], [7,3,0]] -> [[4,5,7], [5,7,3], [7,3,0 ]] [[1,2,3], [1,2,3], [1,2,3]] -> [[1,2,3], [2,2,3], [3,3,3 ]] [[4,5, -6], [0,8, -12], [- 2,2,4]] -> [[4,5, -2], [5,8,2], [- 2,2,4]]
[1,2,3,4]
thay vì[[1,2],[3,4]]
? Sẽ tiết kiệm ~ 33%