题目一:https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358?tpId=46&tqId=29117&tPage=1&rp=1&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking

题目翻译:

机器人位于m x n网格的左上角(在下图中标记为“开始”)。

机器人只能在任何时间点向下或向右移动。 机器人试图到达网格的右下角(在下图中标记为“完成”)。

有多少个可能的唯一路径?

上面是一个3×7的网格。 有多少个可能的唯一路径?

注意:m和n最多为100。

思路:这道题目是一道典型的动态规划问题。从多个小问题的解的合并能够解决最终原问题的解。得出的递推式:res[i][j] = res[i-1][j] + res[i][j-1];  初始化的时候将res二维数组的第一行第一列都置为1,方便计算。

代码:

classSolution {public:int uniquePaths(int m, intn) {

vector> res(m, vector(n, 1));// 初始化二维数组for (int i = 1; i

res[i][j]= res[i-1][j] + res[i][j-1];

}return res[m-1][n-1];

}

};

题目二:https://www.nowcoder.com/practice/3cdf08dd4e974260921b712f0a5c8752?tpId=46&tqId=29116&tPage=4&rp=4&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking

题目翻译:

唯一路径”的后续跟踪:

现在考虑如果一些障碍物添加到网格。 有多少独特的路径会有?

障碍物和空白区域在网格中分别标记为1和0。

例如,

在3x3网格的中间有一个障碍物,如下所示。

[

[0,0,0],

[0,1,0],

[0,0,0]

]]

唯一路径的总数为2。

注意:m和n最多为100。

思路:这道题其实是上面那个题目的衍生,方法肯定还是dp,但是要对出现障碍物的位置进行特殊处理。试想当只有一行的时候,某个障碍物出现,那么到达路径为0.只有一列的时候也是一样。所以首先初始化的时候对第一行第一列上面出现障碍物的地方将path[i][0]  和path[0][i]都置为0.然后我们还是利用上面的递推式进行计算:res[i][j] = res[i-1][j] + res[i][j-1]。循环计算的时候如果碰到障碍物,就将path[i][j]置为0.这样就解决了这个问题。

代码:

classSolution {public:int uniquePathsWithObstacles(vector > &obstacleGrid) {int row =obstacleGrid.size();int col = obstacleGrid[0].size();

vector > res(row, vector(col, 0));for (int i=0; i

res[0][i] = 1;if (obstacleGrid[0][i] == 1){

res[0][i] = 0;break;

}

}for (int i=0; i

res[i][0] = 1;if (obstacleGrid[i][0] == 1){

res[i][0] = 0;break;

}

}for (int i=1; i

res[i][j]= res[i-1][j] + res[i][j-1];if (obstacleGrid[i][j] == 1)

res[i][j]= 0;

}

}return res[row-1][col-1];

}

};

智能机器人走迷宫c语言游戏,(动态规划)机器人走迷宫问题(示例代码)相关推荐

  1. php如何实现用户报警,php封装实现钉钉机器人报警接口的示例代码

    php封装实现钉钉机器人报警接口的示例代码,的是,机器人,接口,本文,消息 php封装实现钉钉机器人报警接口的示例代码 易采站长站,站长之家为您整理了php封装实现钉钉机器人报警接口的示例代码的相关内 ...

  2. 猜猜乐游戏php源码,C/C++百行代码实现热门游戏消消乐功能的示例代码

    游戏设计 首先我们需要使用第三方框架,这里我使用的是sfml,不会使用sfml在我的上几篇文章当中-扫雷(上)有详细的开发环境搭建介绍 首先准备图片资源 一张背景图片,一张宝石图片 窗口初始化加载图片 ...

  3. php消消乐代码,C/C++百行代码实现热门游戏消消乐功能的示例代码

    游戏设计 首先我们需要使用第三方框架,这里我使用的是sfml,不会使用sfml在我的上几篇文章当中-扫雷(上)有详细的开发环境搭建介绍 首先准备图片资源 一张背景图片,一张宝石图片 窗口初始化加载图片 ...

  4. python走迷宫_Python使用Tkinter实现机器人走迷宫

    这本是课程的一个作业研究搜索算法,当时研究了一下Tkinter,然后写了个很简单的机器人走迷宫的界面,并且使用了各种搜索算法来进行搜索,如下图: 使用A*寻找最优路径: 由于时间关系,不分析了,我自己 ...

  5. 不思议迷宫c语言基础,不思议迷宫神龙收藏品一览

    不思议迷宫神龙收藏品一览是9K9K小编柚子人为大家带来的,七龙珠召唤神龙作为游戏最为迷人的彩蛋之一,召唤神龙拿钻石作为众多玩家的首选目标,但神龙的收藏品你知道多少呢,下面不妨详细了解一下吧. 神龙收藏 ...

  6. 老鼠走迷宫C语言程序,电子老鼠走迷宫(广搜)WA

    #include #include using namespace std; void bfs(); int x1,y1,x2,y2; int used[50][50]={0} ; int s[20] ...

  7. 不思议迷宫c语言基础,不思议迷宫新手谜题汇总

    可盘游戏BT盒子是一款功能十分强大的游戏福利软件,这里汇聚了全网最热门最好玩的手游.大家不仅可以在这里获得各种折扣福利,还能下载游戏... 类型:辅助工具 大小:17.42M 语言:简体中文 不思议的 ...

  8. 不思议迷宫c语言基础,不思议迷宫新手必须知道的几件事情

    开通关卡 开通关卡是每个萌新在游戏初期都必须要做的一件事情.除了可以获得新的游戏功能,让冒险者们冈布奥的养成上限提高之外,还可以获得新的冈布奥,对冒险者们实力的增强有极大的贡献. 刷DP 在通关一定关 ...

  9. 不思议迷宫c语言基础,不思议迷宫新手攻略 新手常见50个问题分享汇总

    不思议迷宫新手应该怎么玩,经常遇到的问题有哪些呢.今天小编就给大家分享一下,新手常见50个问题分享汇总,有需要的小伙伴,和小编一起来看看吧,希望对大家有所帮助. 不思议迷宫新手攻略 新手常见50个问题 ...

最新文章

  1. 用户 ‘IIS APPPOOL\IdealTest‘ 登录失败解决方案
  2. 多线程—并发容器与机制
  3. 搜索不包含关键词_亚马逊listing关键词优化
  4. Spring Cloud Alibaba基础教程:与Dubbo的完美融合
  5. java过滤lsit重复_java 8 中获取List结合中过滤后的重复数据
  6. Ajax(2)--Ajax核心工作机制 你忘记了吗?
  7. 都客音量调节助手v2.1(win7专用)发布了
  8. HDOJ--1269--迷宫城堡
  9. 实验四 图像复原及几何校正
  10. 计算机基础单位:位,字节,兆等关系
  11. CUBA - 一个卓越的 Java 快速开发框架
  12. 费纳姆密码-二进制密码
  13. developer.biao.daily.20140731
  14. rpm包文件取出方法rpm2cpio|cpio -idv
  15. 上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道。...
  16. how to define the RASIC in a team
  17. XR行业的“跨维度”战争打响,谁在竞逐第一序列?
  18. R语言回归分析-回归诊断
  19. (一)SpringCloud之Eureka注册中心
  20. 【MFC】MFC消息映射

热门文章

  1. Error: A <Route> is only ever to be used as the child of <Routes> element, never rendereddirectly
  2. 求 一个 quality center explorer 9.0的 百度网盘 或是别的下载地址的链接
  3. 安霸(ambarella) s2lm视频处理流程
  4. 17.4.17 漫画与人脸识别(一)
  5. 【欢迎来怼】 Beta发布事后诸葛亮会议
  6. Spring MVC集成Swagger2.0
  7. SRE运维工程师笔记-文件查找和压缩
  8. 设置单独进程打开资源管理器有效防止电脑假死!
  9. RabbitMQ 6种应用场景
  10. 基于ESP32环境监测控制和预警(微信小程序)