地址:http://poj.org/problem?id=3176
题意:数阵中求一条通路使和最大
代码:
#include<iostream>
using namespace std;
#define N 355
int map[N][N];
int max(int a,int b)
{
if(a>b) return a;
else return b;
}
int main()
{
int i,j,s,n;
while(cin>>n)
{
memset(map,0,sizeof(map));
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{
cin>>map[i][j];
map[i][j]+=max(map[i-1][j],map[i-1][j-1]);
}
s=0;
for(i=1;i<=n;i++)
s=max(s,map[n][i]);
cout<<s<<endl;
}
return 0;
}