博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
careercup-递归和动态规划 9.2
阅读量:6225 次
发布时间:2019-06-21

本文共 624 字,大约阅读时间需要 2 分钟。

9.2 设想有个机器人坐在X*Y网格的左上角,只能向右、向下移动。机器人从(0,0)到(X,Y)有多少种走法?

进阶:

假设有些点为“禁区”,机器人不能踏足。设计一种算法,找到一条路径,让机器人从左上角移动到右下角。

类似leetcode:和

解法:

我们需要数一数机器人向右X步、向下Y步,总共可以走多少种路径。这条路径总共有X+Y步。

为了走出一条路径,我们实质上要从X+Y步为向右移动。因此,可能路径的总数就是从X+Y项中选出X项的方法总数。具体可以用下面的二项式(又称“n选r”)表示:

 

动态规划实现C++代码:

#include
#include
using namespace std;//没有障碍时int uniquePaths(int m,int n){ int path[m][n]; int i,j; for(i=0;i
> &obstacle){ int m=obstacle.size(); int n=obstacle[0].size(); if(m==0||n==0) return 0; int path[m][n]; int i,j; if(obstacle[0][0]==1) return 0; path[0][0]=1; for(i=1;i
> vec={
{
0,0,0},{
0,1,0},{
0,0,0}}; cout<
<

 

转载地址:http://emuna.baihongyu.com/

你可能感兴趣的文章
asp.net Jquery表单html和后台交互
查看>>
vs2010 setup 打包 安装 BAT批处理实现自动安装软件功能
查看>>
机器视觉开源处理库汇总
查看>>
CentOS 5.4 final下Systemtap的安装
查看>>
虚拟地址
查看>>
自然界事物的组织形式
查看>>
对double数据类型的数据保留两位小数,并且进行四舍五入
查看>>
using the easy connect naming method 简单连接測试
查看>>
STM32系列ARM单片机介绍
查看>>
基于commons-net实现ftp创建文件夹、上传、下载功能
查看>>
《程序猿面试宝典》学习记录6
查看>>
[Winform]Media Player com组件应用中遇到的问题
查看>>
leetcode——Implement strStr() 实现字符串匹配函数(AC)
查看>>
Python sql注入 过滤字符串的非法字符
查看>>
glGetString(GL_VERSION) returns “OpenGL ES-CM 1.1” but my phone supports OpenGL 2
查看>>
RDA PQ工具使用 (屏参调整)
查看>>
Servlet学习笔记(三):HTTP请求与响应
查看>>
Linux搭建JavaEE开发环境与Tomcat——(十)
查看>>
JFinal 学习笔记之Handler包分析
查看>>
Redis总结(六)Redis配置文件全解
查看>>