?? 數字三角形問題.cpp
字號:
#include<iostream>
using namespace std;
int a[101][101];
int N;
int fmax(int a,int b)
{
return a>b?a:b;
}
int f(int row,int col)//f(0,0)即為所要求的值,row表示行數
{
//f(0,0)=max(f(1,0),f(1,1))+a[0][0]
if(row==N-2)//倒數第二層
return fmax(a[row+1][col],a[row+1][col+1])+a[row][col];
return fmax(f(row+1,col),f(row+1,col+1))+a[row][col];
}
int main()
{
/*輸入三角形的行數*/
cin>>N;
/*輸入每行的數*/
for(int i=0;i<N;i++)
for(int j=0;j<i+1;j++)
cin>>a[i][j];
cout<<f(0,0)<<endl;
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -