0
已解决
- #include<iostream>
- #include<cstdio>
- using namespace std;
- int map[55][55],a,b,c;
- int f[55][55][55][55];
- int main(){
- int n,m;
- cin>>n>>m;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=m;j++)
- cin>>map[i][j];
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=m;j++)
- {
- for(int k=1;k<=n;k++)
- {
- for(int t=1;t<=m;t++)
- {
- int x=max(f[i-1][j][k-1][t],f[i-1][j][k][t-1]);
- int y=max(f[i][j-1][k-1][t],f[i][j-1][k][t-1]);
- f[i][j][k][t]=max(x,y)+map[i][j]+map[k][t];
- if(i==k&&j==t)
- f[i][j][k][t]-=map[i][j];
- }
- }
- }
- }
- cout<<f[n][n][n][n];
- return 0;
- }
王光裕在2020-08-16 09:55:43追加了内容
help




@董子墨 @包涵宇
王光裕在2020-08-16 10:04:37追加了内容
我AC了

王光裕在2020-08-16 10:05:16追加了内容
有没有人来回答一下,我结个贴
