?? 數(shù)字三角形.txt
字號(hào):
#include <iostream>
#include <stdio.h>
using namespace std;
#define MAX 10000
int f[10][10];//f[i][j],從頂點(diǎn)到第i行第j列點(diǎn)的最大路徑
int thi[10][10];//三角形的點(diǎn)的值
//數(shù)字三角形 動(dòng)態(tài)規(guī)劃
/*
輸入:
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
輸出:
30
*/
int cal(int num)
{
int i,j,max;
f[1][1]=thi[1][1];
for(i=2;i<=num;i++)
{
for(j=1;j<=i;j++)
{
if(j==1) f[i][j]=f[i-1][j]+thi[i][j];
else if(j==i) f[i][j]=f[i-1][j-1]+thi[i][j];
else
{
if(f[i-1][j-1]>f[i-1][j]) f[i][j]=f[i-1][j-1]+thi[i][j];//從左上角下來(lái)
else f[i][j]=f[i-1][j]+thi[i][j];//從上面下來(lái)
}
}
}
max=0;
for(j=1;j<=num;j++)
if(max<f[num][j]) max=f[num][j];
return max;
}
int main()
{
int num,i,j;
cin>>num;
for(i=1;i<=num;i++)
{
for(j=1;j<=i;j++)
cin>>thi[i][j];
}
cout<<cal(num)<<endl;
return 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -