解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int n,m,a[52][52],f[52][52][52][52]; namespace qaq{ int main(){ scanf("%d%d",&m,&n); for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) scanf("%d",&a[i][j]); for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ for(int k=1;k<=m;k++){ for(int l=1;l<=n;l++){ if((i==k&&j==l)&&(i!=m)&&(j!=n))continue; f[i][j][k][l]=max(f[i-1][j][k-1][l],max(f[i-1][j][k][l-1],max(f[i][j-1][k-1][l],f[i][j-1][k][l-1])))+a[i][j]+a[k][l]; } } } } printf("%d\n",f[m][n-1][m-1][n]); //printf("%d\n",f[m-1][n][m][n-1]); return 0; } } int main(){ qaq::main(); return 0; }
0.0分
2 人评分