一道简单dp题

代码如下:

#include<stdio.h>
#define max(a,b) (a>b?a:b)
int a[352][352];
int best[352];
int main()
{
 int n,i,j;
 scanf("%d",&n);
 for(i=1;i<=n;i++)
  for(j=1;j<=i;j++)
   scanf("%d",&a[i][j]);
 for(j=1;j<=n;j++)
  best[j]=a[n][j];
 for(i=n-1;i>0;i--)
 {
  for(j=1;j<=i;j++)
   best[j]=max(best[j],best[j+1])+a[i][j];
 }
 printf("%d\n",best[1]);
 return 0;
}

 

posted on 2008-11-08 20:56  pandy  阅读(199)  评论(0编辑  收藏  举报