Problem1034--22-数组-3-矩阵得分

1034: 22-数组-3-矩阵得分

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

小南想了解一下基本的动态规划思想,毕竟后续有算法课程。所以他尝试解决一个矩阵得分问题。该问题是:一个n*m的矩阵,矩阵每个元素是一个整数(在int类型范围内),起点是左上角(第一行第一列),每次只能朝右或者朝下走到相邻的位置,不能走出矩阵。走过的数字的总和作为该位置的最终得分,求矩阵中每个位置的最大得分。例如:一个3*3的矩阵,从从左上角的1开始作为起点出发
1 2 3  
6 2 8
2 4 1
则每个位置的最大得分为:

1 3 6
7 9 17
9 13 18

Input

多组样例。每组样例的第一行为两个整数n,m(1≤n,m≤500)
接下来n行,每行m个数字,每个数字都在int范围内。 

Output

对于每组测试数据,输出一个n*m的矩阵。

Sample Input Copy

3 4
1 2 3 4 
1 2 8 2
1 1 1 1
3 3
1 2 3  
6 2 8
2 4 1

Sample Output Copy

1 3 6 10
2 5 14 16
3 6 15 17
1 3 6 
7 9 17 
9 13 18 

HINT

对于第一行和第一列的位置,每个位置的得分是固定的,来自其左边或者其上面的得分之和。
对于中间的每一个位置,得分有两个,一个是来自其左边的,一个是来自其上面的,取高分保留。

Source/Category