首页 > 试题广场 >

机器人走方格II

[编程题]机器人走方格II
  • 热度指数:19330 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个int[][] map(C++ 中为vector >)网格图,若map[i][j]为1则该点不是障碍点,否则为障碍点。另外给定int x,int y,表示网格的大小。现有一个机器人要从网格左上角走到右下角,只能走格点且只能向右或向下走。请返回机器人从(0,0)走到(x - 1,y - 1)有多少种走法。请将结果Mod 1000000007以防止溢出,并保证x和y均小于等于50。

头像 健康快乐最重要
发表于 2020-03-09 16:40:21
这道题是对于机器人走方格I的升级版。先说一下机器人Ⅰ:1的情况比较简单,直接递归或者dp就可以求解: int countWays(int x, int y) {//二维的上台阶问题 if((x==1||y==1))return 1; //只要到达1的旁边就返回1,相当于直接把左边界和上边界跳 展开全文
头像 Dfine
发表于 2025-07-04 04:03:17
#include <vector> class Robot { const int mod = 1000000007; vector<vector<int>> ways; int dfs(vector<vector<int> 展开全文
头像 0xCAFEBABE_
发表于 2021-08-15 18:44:24
/* 标准dp, 注意边界条件和状态转移中遇到障碍时的处理 */ public int countWays(int[][] map, int m, int n) { // write code here int[][] dp = new int[m][n]; 展开全文