问题:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
求Max代码:
#include<cstdio>
#include<algorithm>
using namespace std;
int dp[5][5];//开个二维数组存数据
int summax[5][5];//记录每个阶段的最大值
int main()
{
for(int i=0;i<=4;i++)
for(int j=0;j<=i;j++)
scanf("%d",&dp[i][j]);
for(int i=0;i<=4;i++)
summax[4][i]=dp[4][i];//记录最底层
for(int i=3;i>=0;i--)
for(int j=0;j<=i;j++)
{
summax[i][j]=max(summax[i+1][j],summax[i+1][j+1])+dp[i][j];
}
printf("%d\n",summax[0][0]);
}
求Min代码:
#include<cstdio>
#include<algorithm>
using namespace std;
int dp[5][5];//开个二维数组存数据
int summin[5][5];//记录每个阶段的最大值
int main()
{
for(int i=0;i<=4;i++)
for(int j=0;j<=i;j++)
scanf("%d",&dp[i][j]);
for(int i=0;i<=4;i++)
summin[4][i]=dp[4][i];//记录最底层
for(int i=3;i>=0;i--)
for(int j=0;j<=i;j++)
{
summin[i][j]=min(summin[i+1][j],summin[i+1][j+1])+dp[i][j];
}
printf("%d\n",summin[0][0]);
}
dp求三角形路径权值
最新推荐文章于 2022-04-11 14:40:19 发布