zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯 算法训练 数字三角形

    算法训练 数字三角形
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
      径,使该路径所经过的数字的总和最大。
      ●每一步可沿左斜线向下或右斜线向下走;
      ●1<三角形行数≤100;
      ●三角形中的数字为整数0,1,…99;

    .
      (图3.1-1)
    输入格式
      文件中首先读到的是三角形的行数。

    接下来描述整个三角形
    输出格式
      最大总和(整数)
    样例输入
    5
    7
    3 8
    8 1 0
    2 7 4 4
    4 5 2 6 5
    样例输出
    30

    import java.util.Scanner;
    
    
    public class 数字三角形 {
    	public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
    
            int n = in.nextInt();
            if(n<1 || n>100) 
                System.exit(0);
            int[][] dp = new int[n][n];
            for(int i=0;i<n;i++) {
                for(int j=0;j<=i;j++) {
                    dp[i][j] = in.nextInt();
                    if(dp[i][j]<0 || dp[i][j]>99)
                        System.exit(0);
                }
            }
    
            for(int i=1;i<n;i++) {
                dp[i][0] += dp[i-1][0];
                dp[i][i] += dp[i-1][i-1];
            }
    
            for(int i=2;i<n;i++) {
                for(int j=1;j<i;j++) {
                    dp[i][j] += Math.max(dp[i-1][j-1], dp[i-1][j]);
                }
            }
    
            int sum=0;
            for(int i=0;i<n;i++) {
                sum = Math.max(sum,dp[n-1][i]);
            }
            System.out.println(sum);
            in.close();
        }
    
    }
    
    
  • 相关阅读:
    ASP.NET Routing Debugger
    浏览器 CSS & JS Hack 手册
    基于vmWare5.5环境的VxWorks系统安装总结
    TFS 迁移到 Git
    关于websocket
    自定义单一模块Model类
    学习 C++的用途
    Navigation Controllers and Table Views(中)
    Mac环境下svn的使用
    减少.NET应用程序内存占用的一则实践
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078896.html
Copyright © 2011-2022 走看看