Решение: Максимальная и минимальная сумма
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). В каждой клетке лежит монета достоинством от 1 до 100. Исполнитель Робот начинает движение из левой верхней клетки и может перемещаться только вправо или вниз. Между соседними клетками могут быть внутренние стены, через которые Робот пройти не может. Посетив клетку, Робот забирает монету, в том числе в начальной и конечной клетках маршрута. В клетке, которая ограничена стенами справа и снизу, движение заканчивается, а накопленная сумма считается итоговой. Определите максимальную и минимальную суммы среди всех возможных маршрутов от левой верхней клетки до конечной клетки. Исходные данные находятся в прилагаемом файле электронной таблицы размером $N \times N$; внутренние и внешние стены обозначены утолщёнными линиями.
Решение по шагам
4 шагаИз электронной таблицы считываются достоинства монет и расположение внутренних стен.
Для каждой клетки вычисляется максимальная сумма монет на допустимом пути из левой верхней клетки. Переходы выполняются только вправо и вниз и только через проходы без стен.
$$D_{\max}(i,j)=a_{i,j}+\max\limits_{(k,l)\to(i,j)}D_{\max}(k,l)$$Аналогично вычисляется минимальная сумма для каждой клетки.
$$D_{\min}(i,j)=a_{i,j}+\min\limits_{(k,l)\to(i,j)}D_{\min}(k,l)$$Рассматриваются все клетки, ограниченные стенами справа и снизу. Максимальный ответ равен наибольшему значению в первой таблице среди этих клеток, минимальный — наименьшему значению во второй таблице.
Недостаточно данных: содержимое электронной таблицы из прилагаемого файла не представлено.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывать монету в начальной или конечной клетке.
Разрешать переход через внутреннюю стену.
Рассматривать только правую нижнюю клетку как конечную.
Искать минимум и максимум только среди маршрутов одинаковой длины.