2 条题解

  • 0
    @ 2024-2-20 16:53:20
    #include<bits/stdc++.h>
    using namespace std;
    const int N = 1e3+10;
    int a[N][N],f[N][N],n,ans;
    
    int dp(int x,int y){
    	if(f[x][y]!=-1){
    		return f[x][y];
    	}else{
    		f[x][y]=max(dp(x-1,y-1),dp(x-1,y))+a[x][y];
    		return f[x][y];
    	}
    } 
    
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	    for(int j=1;i<=n;i++){
    	    	cin>>a[i][j]=-1;
    		}
    		f[1][1]=a[1][1];
    		for(int i=1;i<=n;i++){
    			ans = max(ans,dp(n,i));
    		}
    		cout<<ans;
    		return 0;
    }
    

    信息

    ID
    114
    时间
    1000ms
    内存
    64MiB
    难度
    5
    标签
    递交数
    56
    已通过
    20
    上传者