Максимальная и минимальная суммы
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде «вправо» Робот перемещается в соседнюю правую клетку, по команде «вниз» — в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота.
Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. Исходные данные представляют собой электронную таблицу размером $N \times N$, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщёнными линиями.
В ответе укажите два числа: сначала максимальную сумму, затем минимальную.
Условие как в банке ФИПИ — открыть и сверить
| |||||||||||||||||||||
| |
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Для каждой клетки определяйте лучший и худший результат, с которым Робот может в неё попасть.
2Наводящая — какие числа считатьуровень 2 из 3
Используйте рекуррентные формулы: $M_{i,j}=a_{i,j}+\max(M_{i-1,j},M_{i,j-1})$ для максимума и $m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$ для минимума, учитывая стены.
3Прямая — фактически решениеуровень 3 из 3
Заполните две таблицы динамического программирования от левой верхней клетки к правой нижней. В ответ перенесите значения в правой нижней клетке сначала из таблицы максимумов, затем из таблицы минимумов.
