在C ++中从第0行的任何单元格开始到第(N-1)行的任何单元格结束的最大路径总和
在本教程中,我们将讨论一个程序,以查找从第0行的任何单元格开始到第(N-1)行的任何单元格结束的最大路径总和
为此,我们将提供一个矩阵,其可能的移动为(i+1,j),(i+1,j-1),(i+1,j+1)。我们的任务是从第零个位置开始,然后移动到最后一行以找出最大求和路径。
示例
#include<bits/stdc++.h>
using namespace std;
#define N 4
//寻找最大求和路径
int MaximumPath(int Mat[][N]) {
int result = 0 ;
int dp[N][N+2];
memset(dp, 0, sizeof(dp));
for (int i = 0 ; i < N ; i++)
dp[0][i+1] = Mat[0][i];
for (int i = 1 ; i < N ; i++)
for (int j = 1 ; j <= N ; j++)
dp[i][j] = max(dp[i-1][j-1], max(dp[i-1][j], dp[i-1][j+1])) + Mat[i][j-1] ;
for (int i=0; i<=N; i++)
result = max(result, dp[N-1][i]);
return result ;
}
int main() {
int Mat[4][4] = {
{ 4, 2 , 3 , 4 },
{ 2 , 9 , 1 , 10},
{ 15, 1 , 3 , 0 },
{ 16 ,92, 41, 44 }
};
cout << MaximumPath ( Mat ) <<endl ;
return 0;
}输出结果
120
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短