import java.util.Scanner; public class 三角形 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int m = sc.nextInt(); while (m-- > 0) { int n = sc.nextInt(); int max = 0; int[][] dp = new int[n][n]; dp[0][0] = sc.nextInt(); for (int i = 1; i < n; i++) { for (int j = 0; j <= i; j++) { int num = sc.nextInt(); if (j == 0) { dp[i][j] = dp[i - 1][j] + num; } else { dp[i][j] = Math.max(dp[i - 1][j - 1], dp[i - 1][j]) + num; } max = Math.max(max, dp[i][j]); } } System.out.println(max); } } }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
点我有惊喜!你懂得!浏览:1328 |
C二级辅导-计负均正 (C语言代码)浏览:508 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:501 |
C语言训练-大、小写问题 (C语言代码)浏览:612 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:513 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:507 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:555 |
矩阵加法 (C语言代码)浏览:1720 |