机器人移动路径计算:动态规划算法实现
#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 著作权归作者所有。请勿转载和采集!