这种解决方法很繁琐,但是渣渣目前只会这样搞
//package app;
import java.util.Scanner;
class ShuTa1{
static int n;
static int[][] a = new int[200][200];
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
n = input.nextInt(); //输入你有几层数塔
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
a[i][j] = input.nextInt();
}
}
input.close();
System.out.println();
for(int i=0;i<=n;i++){ //用来遍历已经输入的数据
for(int j=1;j<=i;j++){
System.out.print(a[i][j]+" ");
if(j==i){
System.out.println();
}
}
}
System.out.println(shutadfs(1, 1));
}
public static int shutadfs(int i, int j){
if(i == n){
return a[i][j];
}
int x = shutadfs(i+1, j);
int y = shutadfs(i+1, j+1);
return Math.max(x,y) + a[i][j]; //DFS寻找权重最大路径
}
}