Твой ответ на задание неверен. Для решения задания нужно использовать динамическое программирование.
Термины, которые нужны для решения задания:
- Матрица (или квадрат) - таблица, состоящая из строк и столбцов.
- Ячейка - одна клетка матрицы, обозначаемая парой координат (строка, столбец).
- Сумма ячеек - сумма всех целых чисел, записанных в ячейках (клетках) на пути ладьи.
Алгоритм решения задания:
- Создаём матрицу M размером n × n, где n - размерность квадрата.
- Заполняем первую строку и первый столбец матрицы M суммами ячеек соответствующих элементов.
- Для всех ячеек матрицы M кроме первой строки и первого столбца присваиваем значение из выражения: M[i][j] = arr[i][j] + min(M[i-1][j], M[i][j-1]), где arr[i][j] - значение в ячейке матрицы с координатами (i,j), min(M[i-1][j], M[i][j-1]) - минимальная из сумм ячеек двух соседних элементов (элемент сверху и слева).
- Ответом является значение в нижней правой ячейке матрицы M.
Таким образом, чтобы минимизировать сумму ячеек, в которых ладья останавливается, нужно реализовать алгоритм динамического программирования, описанный выше, и получить значение в правой нижней ячейке матрицы M.
Проверь свой ответ и напиши, лайк или дизлайк.
