2 条题解

  • 2
    @ 2025-11-30 11:20:08

    倒序谁都会,有人来发,我来凑个热闹

    #include<iostream>
    using namespace std;
    int n,a[1005][1005],f[1005][1005];
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=i;j++){
    			cin>>a[i][j];
    		}
    	}
    	for(int j=1;j<=n;j++){
    		f[n][j]=a[n][j];
    	}
    	for(int i=n-1;i>0;i--){
    		for(int j=1;j<=i;j++){
    			f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1]);
    		}
    	}
    	cout<<f[1][1];
    	return 0;
    }
    
    • 2
      @ 2025-11-30 11:15:26

      又是一道 SO EASY 的动态规划

      水题!!!

      竟然没有人发题解,只能我来了

      
      #include<bits/stdc++.h>
      using namespace std;
      int a[1005][1005];
      int f[1005][1005];
      int r;
      int main()
      {
      	cin>>r;
      	for(int i=0;i<r;i++){
      		for(int j=0;j<=i;j++){
      			cin>>a[i][j];
      			f[i][j]=a[i][j];
      		}
      	}
      	for(int i=r-1;i>=0;i--){
      		for(int j=0;j<=i;j++){
      			f[i][j]+=max(f[i+1][j],f[i+1][j+1]); 
      		} 
      	}
      	cout<<f[0][0];
      	return 0;
      }
      
      • 1

      信息

      ID
      298
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      (无)
      递交数
      3
      已通过
      8
      上传者