#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;

// 根据状态方程计算dp数组的值
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] = dp[i][j-1] + dp[i-1][j] // 解释: // 到达点 (i, j) 的路径数等于从 (i, j-1) 到 (i, j) 的路径数加上从 (i-1, j) 到 (i, j) 的路径数。

机器人移动路径计算:动态规划算法实现

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

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