Циклический сдвиг матрицы с максимизацией суммы диагонали
Rust
Сложный
loops
Задача «Циклический сдвиг матрицы с максимизацией суммы диагонали»
Дана квадратная матрица целых чисел размера N x N. За один ход можно циклически сдвинуть любую строку влево или вправо на произвольное количество позиций, либо циклически сдвинуть любой столбец вверх или вниз на произвольное количество позиций. Цель — максимизировать сумму элементов на главной диагонали (от верхнего левого угла до нижнего правого). Найдите максимально возможную сумму после любого количества таких операций. N от 1 до 100, элементы матрицы — целые числа от -10^6 до 10^6.
Формат ввода
В первой строке целое число N. Далее N строк, каждая содержит N целых чисел через пробел.
Формат вывода
Одно целое число — максимальная сумма на главной диагонали.
Примеры
Пример 1
ВВОД
5
1 -2 3 -1 2
ВЫВОД
5
Пример 2
ВВОД
3
1 2 3
4 5 6
7 8 9
ВЫВОД
18
Пример 3
ВВОД
2
3 4
1 2
ВЫВОД
6
main.rs