4 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=55; int m,n,a[N][N],dp[N][N][N]; int main(){ cin>>m>>n; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; } } for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) for(int k=1;k<=m;k++){ int l=i+j-k; if(l>=1&&l<=n) { int temp=max(max(dp[i-1][j][k-1],dp[i-1][j][k]),max(dp[i][j-1][k-1],dp[i][j-1][k])); dp[i][j][k]=temp+a[i][j]; if(i!=k) dp[i][j][k]+=a[k][l]; } } cout<<dp[m][n][m]<<endl; return 0; }
信息
- ID
- 186
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 74
- 已通过
- 42
- 上传者