e-olymp 4018. Черепашка

Задача

В левом верхнем углу прямоугольной таблицы размером n×m находится черепашка. На каждой клетке таблицы разлито некоторое количество кислоты. Черепашка может перемещаться вправо или вниз, при этом маршрут черепашки заканчивается в правом нижнем углу таблицы.

Каждый миллилитр кислоты приносит черепашке некоторое количество урона. Найдите наименьшее возможное значение урона, которое получит черепашка после прогулки по таблице.

Входные данные

В первой строке записаны два натуральных числа n и m, не превосходящие 1000 — размеры таблицы. Далее идёт n строк, каждая из которых содержит m чисел, разделённых пробелами — описание таблицы с указанием для каждой клетки содержания кислоты на ней (в миллилитрах).

Выходные данные

Вывести минимальную возможную стоимость маршрута черепашки.

Тесты

Входные данные Выходные данные
3 4 35
5 9 4 3
3 1 6 9
8 6 8 12
1 1 1
1
5 6 25
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
4 1 103
100
1
1
1
1 5 7
1 1 2 2 1

Код программы

Решение задачи

Для начала посчитаем значение для каждой клетки 0-ой строки и 0-ого столбца. Далее, для каждой клетки (i,j), где i>0 и j>0, считаем значение клетки как сумму значения, лежащего в этой клетке и минимум из пути, откуда черепашка могла прийти (т. е. минимум из клетки (i1,j) и клетки (i,j1)). Ответом будет значение, лежащее в клетке (n1,m1).
Для считывания данных использовался BufferedReader, а не Scanner, так как Scanner работает дольше и из-за этого проходит не все тесты.

Ссылки

Условие задачи на e-olymp
Код решения