#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;
}
悬赏一个关注。