Решение: Максимальный и минимальный путь
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). В каждой клетке лежит монета достоинством от 1 до 100. Робот начинает движение из левой верхней клетки и за одно перемещение может перейти только в соседнюю клетку вправо или вниз. Между соседними клетками могут находиться стены, через которые Робот пройти не может. Посетив клетку, Робот забирает монету, в том числе в начальной и конечной клетках. Конечной является клетка, которая справа и снизу ограничена стенами. Определите максимальную и минимальную суммы среди всех возможных маршрутов Робота.
В демонстрационной таблице ниже стены между клетками отсутствуют. Укажите сначала максимальную, затем минимальную сумму.
Решение по шагам
4 шагаПостроим таблицу максимальных сумм. Для каждой клетки прибавляем её значение к большему из доступных результатов сверху и слева.
$$M_{i,j}=a_{i,j}+\max(M_{i-1,j},M_{i,j-1})$$Для демонстрационной таблицы максимальные суммы по строкам имеют вид: $1, 9, 17, 21$; $11, 10, 18, 24$; $12, 14, 30, 32$; $14, 17, 35, 41$.
Аналогично строим таблицу минимальных сумм, выбирая меньший результат сверху и слева.
$$m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$$Минимальная сумма в правой нижней клетке равна $22$.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывают монету в начальной клетке.
Выбирают только один маршрут по диагонали.
Путают максимизацию и минимизацию при переходе в клетку.
Не учитывают стены между клетками.