#P2011. 二维迷宫最大得分路径输出
二维迷宫最大得分路径输出
题目描述
有一个 行 列的二维网格。我们用 表示这个二维迷宫中从上到下第 行,从左到右第 列的格子。
每个格子上都有一个数字,其中格子 上的数字是 。
Lucas 一开始在网格的左上角 处,他要到达网格的右下角 处。
每次移动,Lucas 都只能从当前所在的格子 向右 或 向下 移动到与它相邻的那个格子中。
Lucas 最终会有一个得分,这个得分定义为 Lucas 在移动过程中到达过的所有格子上的数字之和(包括 和 )。
请你帮助 Lucas 设计一个移动路线,使得他的得分最大。并输出这个移动方案。
输入格式
第一行,两个整数 和 ,以一个空格分隔。
接下来 行,每行包含 个整数,表示每个格子上的数字。其中,第 行的第 个数字表示 。
输出格式
输出共两行。
第一行,一个整数,表示你的最大得分。
第二行,输出一行字符串,为一个长度为 的字符串,表示你的最优移动方案。这个字符串需要由字符 R 和 D 构成。
- 若字符串的第 个字符是
R,表示你的第 次移动是向右移动; - 若字符串的第 个字符是
D,表示你的第 次移动是向下移动。
由于可能存在多个移动方案的代价都是最大的。所以这里要求你输出**“优先往右走”**的最优方案。也就是说:
- 如果 方案A 和 方案B 都是最优方案,但是两个方案第一次不同时,方案A 是往右走,而 方案B 是往下走,则 方案A 比 方案B 更优。
样例
3 3
1 1 1
1 1 1
1 1 1
RRDD
4 5
3 5 2 1 7
2 6 3 4 2
1 3 2 5 1
7 1 5 2 3
31
RDRRDDR
5 3
-2 3 -5
-5 1 8
-7 -2 -6
-1 -5 -3
-4 0 -2
-1
RDRDDD
说明/提示
数据规模与约定
数据规模与约定
- 对于 的数据,,
- 对于 的数据,,
- 对于 的数据, 且 ,