两点间方格路径总数

通过动态规划的方法,分析从(0,0)到(a,b)的路径总数,递推公式为k[x][y] = k[x+1][y] + k[x][y+1]。边界条件是终点的行和列路径数为1。程序实现包括判断两点位置、初始化矩阵、自下向上自右向左计算路径总数。当存在障碍点时,路径总数等于无障碍路径总数减去经过障碍点的路径总数的平方。" 111624488,10295873,LabVIEW凸包算法实现与优化,"['图形学', '计算几何', 'C++', 'LabVIEW开发', '算法实现']
摘要由CSDN通过智能技术生成

题目描述:一个长方形,由m*n个大小相同的个子组成,左上角为坐标零点(0,0),求其中任意一点A(x1, y1)到点B(x3, y3)的路径总条数,认为x1<=x3,y1<=y3


分析:这题可以采用动态规划的思想,假设k[a][b]代表从(0,0)到(a,b)的路径的总条数,则有

递推公式:k[x][y] = k[x+1][y] + k[x][y+1],也就是从(x,y)到目的地的总路径数等于先向右(x+1, y)的总路径数k[x][y+1],与先向下k[x][y+1]路径总数之和

边界条件:如图,B点(终点)所在的行和列均只有一个选择,也就是k[row][] 与 k[][col]等于1

C++代码如下:
#include <iostream>
#include <ve
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值