问题 B: 2017夏令营第一阶段(Day3)问题B方格最短路径

问题 B: 2017夏令营第一阶段(Day3)问题B方格最短路径题目描述有一个N*M的方格,每个格子里有一个数字,你从左上角格子开始,每次可以向下或向右走到相邻的格子里,一直走到右下角,问怎样走线路的格子中的数字和最小,输出这个最小值?输入第一行:2个整数n,m,范围在[1, 100]。下面n行,每行m个整数,每个数范围在[1, 100] 。输出路径上数字最小和。样例输入3 43 2 3 7 2 1 5 13 2 1 6样例输出15一道经典到不能再经典的子问题!这道题
摘要由CSDN通过智能技术生成

问题 B: 2017夏令营第一阶段(Day3)问题B方格最短路径

题目描述
有一个N*M的方格,每个格子里有一个数字,你从左上角格子开始,每次可以向下或向右走到相邻的格子里,一直走到右下角,问怎样走线路的格子中的数字和最小,输出这个最小值?
输入
第一行:2个整数n,m,范围在[1, 100]。
下面n行,每行m个整数,每个数范围在[1, 100] 。
输出
路径上数字最小和。

样例输入

3 4
3 2 3 7 
2 1 5 1
3 2 1 6

样例输出

15

一道经典到不能再经典的子问题!
这道题要我们消耗最少的体力,走完这个方格。
很多人一看到题目——哎呀我去!最短路,玩啥?但是仔细一看,这不就是子问题吗?

好的,废话少说,还是老样子,分析样例。

这是一个样例分析图,蓝色代表另一种走法。
3+2+1+2+1+6=15(分析正确)
如果联合行列的数据仔细看,是否发现一共只用走(n+m)步.(n行m列)

然后开始分析子问题:
我们设置当前的情况是f[i][j],能到达f[i][j]是不是只有f[i][j-1]和f[i-1][j]
然后我们要求f[i][j-1]和f[i-1][j]中的最小值,那么动态转移方程不就出来了?

f[i
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值