2 条题解

  • 0
    @ 2024-4-12 11:10:57
    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
      @ 2024-4-11 10:37:41
      #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;
      }
      
      • 1

      信息

      ID
      128
      时间
      1000ms
      内存
      256MiB
      难度
      4
      标签
      递交数
      229
      已通过
      98
      上传者