#773. 矩阵的最小路径和

矩阵的最小路径和

题目描述

给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。

数据范围: 1n,m5001 \le n,m\le 500,矩阵中任意值都满足 0ai,j1000 \le a_{i,j} \le 100

要求:时间复杂度 O(nm)O(nm)

例如:当输入[[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]]时,对应的返回值为12,

所选择的最小累加和路径如下图所示:

image

输入格式

第一行输入两个正整数 n 和 m 表示矩阵 a 的长宽

后续输入 n 行每行有 m 个数表示矩阵的每个元素

输出格式

输出从左上角到右下角的最小路径和

样例

输入样例1

4 4
1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0

输出样例1

12

输入样例2

2 3
1 2 3
1 2 3

输出样例2

7

数据范围与提示

1n,m5001 \le n,m\le 500

0ai,j1000 \le a_{i,j} \le 100

要求:时间复杂度 O(nm)O(nm)