付翔的专栏
在鄙视中成长 记录成长的点滴
posts - 106,  comments - 32,  trackbacks - 0

//很显然这是一道和算法导论上装配线上的类似的题目 可以采用类似的解法
//我们从下往上走
//对于 max【x】【y】其最大值 只能来自于 max【x-1】【y】 或 max【x-1】【y+1】
//

#include<stdio.h>
#define max(a,b) (a>b?a:b)

int max[102][102],data[102][102];
int main()
{
    int n, i ,j;

    scanf("%d",&n);
    for(i=0;i<n;i++){
        for(j=0;j<=i;j++)
            scanf("%d",&data[i][j]);
    }

 //刚开始 最后一行的最大值 极为其本身
 for(i = n-1;i>=0;i--)
  max[n-1][i] = data[n-1][i];
    for(i=n-2;i>=0;i--){
        for(j=0;j<=i;j++){
            max[i][j]=max(max[i+1][j],max[i+1][j+1])+data[i][j];
        }
    }
    printf("%d\n",max[0][0]);
 return 0;
}

 

posted on 2009-08-05 17:08 付翔 阅读(1001) 评论(2)  编辑 收藏 引用

FeedBack:
# re: PKU 1163 [未登录]
2009-08-07 11:56 | expter
贪心啊  回复  更多评论
  
# re: PKU 1163
2009-08-09 11:09 | 付翔
@expter
这个是动态规划 ···  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

CSDN - 我的blog地址

博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜