11 条题解

  • 0
    @ 2026-10-21 19:04:02
    #include<bits/stdc++.h>
    const int N = 105;
    int a[N][N];
    int dp[N][N];
    using namespace std;
    int main(){
    	int t;
        cin>>t;
        while(t--){
            int r,c;
            cin>>r>>c;
            for(int i=0;i<r;i++){
                for(int j=0;j<c;j++){
                    cin>>a[i][j];
                }
            }
            dp[0][0]=a[0][0];
            for(int j=1;j<c;j++){
                dp[0][j]=dp[0][j-1]+a[0][j];
            }
            for(int i=1;i<r;i++){
                dp[i][0]=dp[i-1][0]+a[i][0];
            }
            for(int i=1;i<r;i++){
                for(int j=1;j<c;j++){
                    dp[i][j]=a[i][j]+max(dp[i-1][j],dp[i][j-1]);
                }
            }
            cout<<dp[r-1][c-1]<<endl;
        }
        return 0;
    } 
    

    信息

    ID
    1341
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    485
    已通过
    208
    上传者