В прямоугольной таблице NxM
(в каждой клетке которой записано некоторое число) в начале игрок находится в левой верхней клетке. За один ход ему разрешается перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться запрещено). При проходе через клетку с игрока берут столько у.е., какое число записано в этой клетке (деньги берут также за первую и последнюю клетки его пути).
Требуется найти наибольшую сумму у.е., заплатив которую игрок может попасть в правый нижний угол, а также маршрут, на котором достигается эта сумма.
Входные данные
В первой строке записаны два числа N
и M
- размеры таблицы (1<=N
<=100, 1<=M
<=100). Далее записаны N
строк по M
чисел в каждой - размеры штрафов в у.е. за прохождение через соответствующие клетки (каждое число от 0 до 100).
Выходные данные
Первая строка выходных данных содержит максимальную возможную сумму, вторая – маршрут, на котором достигается эта сумма. Маршрут выводится в виде последовательности, которая должна содержать N-1
букву D
, означающую передвижение вниз и M-1
букву R
, означающую передвижение направо. Если таких последовательностей несколько, необходимо вывести ровно одну (любую) из них.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
5 5
9 9 9 9 9
3 0 0 0 0
9 9 9 9 9
6 6 6 6 8
9 9 9 9 9
|
74
D D R R R R D D
|