int findshortcurt()
{
int base[4][4]={{1,3,5,9},{8,1,3,4},{6,6,6,6},{8,8,8,0}};
int dp[4][4]={{0,},{0,}};
dp[0][0] = base[0][0];
int i,j;
/*求出矩阵的第一行和第一列的步骤值*/
for(i=1;i<4;i++)
{
dp[0][i] += dp[0][i-1]+base[0][i];
}
for(i=1;i<4;i++)
{
dp[i][0] += dp[i-1][0] + base[i][0];
}
/*求dp矩阵其他位置的数dp[i][j]*/
for(i=1;i<4;i++)
{
for(j=1;j<4;j++)
{
dp[i][j] = minValue(dp[i-1][j],dp[i][j-1])+ base[i][j];
}
}
printf("\r\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",dp[i][j]);
}
printf("\r\n");
}
return 0;
}
/*
1 4 9 18
9 5 8 12
15 11 14 18
23 19 22 18
*/
矩阵的最短路径
最新推荐文章于 2024-08-20 20:48:31 发布