首页 > 试题广场 >

求最短通路值

[编程题]求最短通路值
  • 热度指数:2153 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
用一个整形矩阵matrix表示一个网格,1代表有路,0代表无路,每一个位置只要不越界,都有上下左右四个方向,求从最左上角到右下角的最短通路值
例如,matrix为:
1 0 1 1 1
1 0 1 0 1
1 1 1 0 1
0 0 0 0 1
通路只有一条,由12个1构成,所以返回12
[要求]
时间复杂度为,空间复杂度为


输入描述:
第一行两个整数N,M表示矩形的长宽
接下来N行,每行一个长度为M的字符串表示矩形


输出描述:
输出一个整数表示最小步数
若从(1, 1)无法到达(n, m)请输出-1
示例1

输入

4 5
10111
10101
11101
00001

输出

12
示例2

输入

4 5
11011
11111
11111
00001

输出

8

备注:

这道题你会答吗?花几分钟告诉大家答案吧!