2016蓝桥杯算法训练——数字三角形
2016-02-10 13:30
239 查看
数字三角形
问题描述
(图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
径,使该路径所经过的数字的总和最大。
●每一步可沿左斜线向下或右斜线向下走;
●1<三角形行数≤100;
●三角形中的数字为整数0,1,…99;
![](http://lx.lanqiao.org/RequireFile.do?fid=9RdAy6Be)
.
(图3.1-1)
输入格式
文件中首先读到的是三角形的行数。
接下来描述整个三角形
输出格式
最大总和(整数)
样例输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
样例输出
30
代码:
问题描述
(图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 Main { public static void main(String[] args) throws Exception { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[][] a = new int ; for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ a[i][j] = in.nextInt(); } } for(int i=n-1;i>=1;i--){ for(int j=0;j<i;j++){ a[i-1][j]+=Math.max(a[i][j], a[i][j+1]);//将i行最大的数加到i-1行所对应的数上,这样,等加到第一个数时,就是最大路径上数的和 } } System.out.println(a[0][0]); } }
相关文章推荐
- 202. Happy Number LeetCode
- js对象、数组转换字符串
- 如何设计Kafka?
- 2015年总结
- 侃侃面试那些事儿:面试知识点梳理
- 263. Ugly Number LeetCode
- 1022. D进制的A+B (20)
- freetype官网例子1
- uvaoj-1368:DNA序列
- 跳转到首页代码优化
- 那些年美帝码农找工作不能忘记的知识点
- Ecplise中指定tomcat里Web项目发布文件
- myeclispe启动后报错 Subclipse talks to Subversion via a Java API that requires access to native libraries.
- FZU Problem 1752 A^B mod C 快速幂乘
- hrbust 哈理工OJ 1918 M数【数位dp基础】
- 83. Remove Duplicates from Sorted List LeetCode
- HDU 2049 不容易系列之(4)——考新郎(错排)(递推)
- mac下 静态文件css403无法显示
- PDE2D--用Fortran编译器的跨平台的通用性颇佳的基于有限元方法的微分方程(组)求解器
- HDU 2056 Rectangles(矩形面积交)