zoukankan      html  css  js  c++  java
  • 一本通动态规划1288:三角形最佳路径问题

    1288:三角形最佳路径问题


    时间限制: 1000 ms         内存限制: 65536 KB
    提交数: 2466     通过数: 2152 

    【题目描述】

    如下所示的由正整数数字构成的三角形:

    7 
    3 8 
    8 1 0 
    2 7 4 4 
    4 5 2 6 5

    从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。

    注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。

    【输入】

    第一行为三角形高度100≥h≥1,同时也是最底层边的数字的数目。

    从第二行开始,每行为三角形相应行的数字,中间用空格分隔。

    【输出】

    最佳路径的长度数值。

    【输入样例】

    5
    7
    3 8
    8 1 0
    2 7 4 4
    4 5 2 6 5

    【输出样例】

    30
    源码:
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    int a[100][100],f[100][100];
    using namespace std;
    int main()
    {
    	int n,ans=0;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	for(int j=1;j<=i;j++)
    	cin>>a[i][j];
    	f[1][1]=a[1][1];
    	for(int i=1;i<=n;i++)
    	for(int j=1;j<=i;j++)
    	f[i][j]=a[i][j]+max(f[i-1][j],f[i-1][j-1]);
    	for(int i=1;i<=n;i++)
    	if(ans<f[n][i])
    	ans=f[n][i];
    	cout<<ans;
    }
  • 相关阅读:
    PL/SQL 中查询CLOB字段内容
    ubuntu14.04 swap not avalible交换分区不能使用
    ubuntu14.04安装ia32-lib
    rtems资料分享
    NIR相机
    rsync详解
    SublimeText3使用技巧总结
    msm8610 lcd driver code analysis
    Qualcomm Android display架构分析
    LCD framebuffer驱动设计文档
  • 原文地址:https://www.cnblogs.com/weijianzhen/p/12456600.html
Copyright © 2011-2022 走看看