#include<stdio.h> #include <string.h>

#define MAXX 51 #define MAXY 51 //问题表示

int m,n; //求解结果表示

int dp[MAXX][MAXY];

void solve() { int i,j; memset(dp,0,sizeof(dp));

for(i=0; i<=m; i++){
    dp[i][0]=1;
}

for(j=0; j<=n; j++){
    dp[0][j]=1;
}

for(i=1; i<=m; i++){
    for(j=1; j<=n; j++){
        dp[i][j] = dp[i][j-1] + dp[i-1][j];
    }
}

}

int main() { m=5; n=3; solve(); printf("%d\n", dp[m][n]); return 0; }

/* 状态方程:dp[i][j]表示从起点(0,0)到达点(i,j)的路径数。 参数含义:

  • m:终点的横坐标
  • n:终点的纵坐标
  • dp[MAXX][MAXY]:动态规划数组,用于存储路径数

算法求解过程中遇到的问题:在初始化dp数组时,需要将dp[0][0]设置为0,而不是1。此外,还需要将dp数组初始化为0。*/

机器人移动路径数动态规划算法实现及优化

原文地址: https://www.cveoy.top/t/topic/o0Mw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录