题解分享
题解分享简介
数字三角形 - 题解
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[][] arr=new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
arr[i][j]=sc.nextInt();
}
}
int[][] dp=new int[n+1][n+1];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
dp[i+1][j+1]=Math.max(dp[i][j],dp[i][j+1])+arr[i][j];
}
}
int max=0;
for (int i = 0; i < n; i++) {
max=Math.max(dp[n][i],max);
}
System.out.println(max);
}
}
```
查看全文
0
0
0
4
数字三角形 - 题解
```
#include <bits/stdc++.h>
using namespace std;
const int N=105;
int n;
int a[N][N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++) cin>>a[i][j];
}
for(int i=n;i>=1;i--){
for(int j=i;j>=1;j--){
a[i][j]+=max(a[i+1][j],a[i+1][j+1]);
}
}
cout<<a[1][1]<<endl;
return 0;
}
```
查看全文
0
0
0
1



