您的位置:首页 > 其它

poj 1163 The Triangle

2011-07-17 23:52 405 查看
#include<iostream>
using namespace std;
int n,triangle[101][101],tmp[101][101];

int highest(int ii,int jj)
{
if(ii==n)
return triangle[ii][jj];
if(tmp[ii][jj]!=-1)
return tmp[ii][jj];
int a,b;
a=(triangle[ii][jj]+highest(ii+1,jj));
b=(triangle[ii][jj]+highest(ii+1,jj+1));
tmp[ii][jj]=a>b?a:b;
return tmp[ii][jj];
}
int main()
{
memset(tmp,-1,sizeof(tmp));
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>triangle[i][j];
cout<<highest(1,1)<<endl;
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: