0分,样例过不了一点。
查看原帖
0分,样例过不了一点。
1133254
wangjingxi_楼主2024/7/30 08:49
#include<bits/stdc++.h>
using namespace std;
int a[50][50],b[50][50],n,m,ans=0;
int find(int i,int j,int z){
    if(i==n && j==m){
        return 0;
    }
    z+=a[i][j];
    ans+=a[i][j];
    b[i][j]=0;
    return max(find(i+1,j,z),find(i,j+1,z));
}
int find2(int i,int j,int z){
    if(i==1 && j==1){
        return 0;
    }
    else if(b[i][j]==0){
        return 0;
    }
    z+=a[i][j];
    ans+=a[i][j];
    return max(find2(i-1,j,z),find2(i,j-1,z));
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];  
        }
    }
    find(n,m,0);
    find2(1,1,0);
    cout<<ans;
}

悬赏一个关注。

2024/7/30 08:49
加载中...