算法题每日一练---第35天: 机器人走迷宫

简介: 一个机器人位于一个 m x n **网格的左上角。

一、问题描述


10.png一个机器人位于一个 m x n **网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。


问总共有多少条不同的路径?


题目链接:机器人走迷宫

二、题目要求


考察

动态规划中等题型
建议用时5~15min


数据要求

  • 1 <= m, n <= 100
  • 题目数据保证答案小于等于 2 * 109


样例

m=3,n=7     输出28
m=3,n=2     输出3
m=3,n=3     输出6


三、问题分析


还是用我们的三步走老套路:


第一步含义搞懂:

这是二维数组,要求出不同路径,那么就用二维数组 dp[i][j]存储不同的路径个数。


第二步变量初始:

dp[1][1]=1 原地踏步不就是吗?
一步步写太多了,不想写了,我放一个编译结果图片,偷懒一下。



第三步规律归纳:

看看上面的图片有什么特别的地方,有时间可以自己动手写一下,印象会更加深刻,当时我就写了一遍。


是不是当前数组位置的到数 = 左面的数字 + 上面的数字啊!

所以dp[m][n]=dp[m][n-1]+dp[m-1][n];

三步走,打完收工!


四、编码实现


#include<iostream>usingnamespacestd;
intuniquePaths(intm, intn) 
{
inti,j,dp[102][102]={0};//初始化变量for(i=1;i<=m;i++)//循环判断    {
for(j=1;j<=n;j++)
        {
if(i==1&&j==1)
                {
dp[1][1]=1;//初始化变量                }
elsedp[i][j]=dp[i][j-1]+dp[i-1][j];//规律归纳        }
    }
//    for(i=0;i<=m;i++)//输出当前数组元素的值//    {//        for(j=0;j<=n;j++)//        {//            cout<<dp[i][j]<<"      ";//        }cout<<"\n";//    }returndp[m][n];//返回结果}
intmain()
{
intm,n;
cin>>m>>n;//输入数组大小cout<<uniquePaths(m, n) ;//赋值给动态规划功能的函数return0;
}


五、测试结果


输入3 7:

3.png

相关文章
|
7月前
|
传感器 算法 安全
机器人路径规划和避障算法matlab仿真,分别对比贪婪搜索,最安全距离,RPM以及RRT四种算法
本程序基于MATLAB 2022A实现机器人路径规划与避障仿真,对比贪婪搜索、最安全距离、RPM和RRT四种算法。通过地图模拟环境,输出各算法的路径规划结果,展示其在避障性能与路径优化方面的差异。代码包含核心路径搜索逻辑,并附有测试运行图示,适用于机器人路径规划研究与教学演示。
924 64
|
5月前
|
算法 机器人 Serverless
【机器人路径规划】基于6种算法(黑翅鸢优化算法BKA、SSA、MSA、RTH、TROA、COA)求解机器人路径规划研究(Matlab代码实现)
【机器人路径规划】基于6种算法(黑翅鸢优化算法BKA、SSA、MSA、RTH、TROA、COA)求解机器人路径规划研究(Matlab代码实现)
598 2
|
5月前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
509 4
|
5月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
723 4
|
5月前
|
算法 机器人 定位技术
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
322 4
|
5月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
321 3
|
5月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
308 0
|
5月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
438 0
|
6月前
|
监控 算法 安全
【多智能体博弈】拦截失控机器人:一种用于多追捕者捕获多个逃逸者的算法(Matlab代码实现)
【多智能体博弈】拦截失控机器人:一种用于多追捕者捕获多个逃逸者的算法(Matlab代码实现)
107 0
|
6月前
|
传感器 算法 安全
【路径规划】基于matlab A_Star结合DWA算法电气设备巡检机器人路径规划研究(Matlab代码实现)
【路径规划】基于matlab A_Star结合DWA算法电气设备巡检机器人路径规划研究(Matlab代码实现)
199 0

热门文章

最新文章