肥肠肥肠 题解分享 · 2024/4/12
数字三角形 - 题解
``` 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
pity31 题解分享 · 2024/4/11
数字三角形 - 题解
``` #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