Шешімі: Максимальная и минимальная сумма
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). Исполнитель Робот может перемещаться по клеткам только вправо или вниз. Между соседними клетками могут быть внутренние стены, через которые Робот пройти не может. В каждой клетке лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету, в том числе в начальной и конечной клетках. Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| 1 | 8 | 8 | 4 |
| 10 | 1 | 1 | 3 |
| 1 | 3 | 12 | 2 |
| 2 | 3 | 5 | 6 |
В таблице приведён пример входных данных; внутренние и внешние стены обозначены утолщёнными линиями.
Шешім по шагам
5 қадамСначала вычислим максимальные суммы для путей до каждой клетки. В первой строке и первом столбце путь однозначен.
$$M_{1,1}=1$$Для остальных клеток прибавляем значение монеты к большему из двух возможных предыдущих результатов.
$$M_{i,j}=a_{i,j}+\max(M_{i-1,j},M_{i,j-1})$$В правой нижней клетке максимальная сумма равна $41$.
Аналогично вычисляем минимальные суммы, выбирая меньший из двух предыдущих результатов.
$$m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$$В правой нижней клетке минимальная сумма равна $22$.
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывают монеты в начальной или конечной клетке.
Перепутывают порядок ответа и записывают сначала минимум.
Для максимума используют минимум из двух предыдущих значений или наоборот.