数字三角形动态规划

别妄想泡我
545次浏览
2021年01月30日 18:50
最佳经验
本文由作者推荐

-

2021年1月30日发(作者:宋玉生)
#include

using namespace std;

int s[100][100]={0};
int m[100][100]={0};
int a[100][100];
void Triangle(int n)
{
s[0][0]=a[0][0];
for(inti=1;i



{
s[i][0]=s[i-1][0]+a[i][0];
s[i][i]=s[i-1][i-1]+a[i][i];




}
for(inti=2;i



{
for(int j=1;j







{
if(s[i-1][j-1]>s[i-1][j])












{
s[i][j]=s[i-1][j-1]+a[i][j];












}
else












{
s[i][j]=s[i-1][j]+a[i][j];












}








}




}


}
int Max(int n)
{
intmaxs=s[n-1][0];
m[n-1][0]=1;
for(inti=1;i



{
if(maxs







{
maxs=s[n-1][i];
m[n-1][i-1]=0;
m[n-1][i]=1;








}

-


-


-


-


-


-


-


-