AcWing 275. 传纸条
原题链接
中等
作者:
奈绪我老婆
,
2024-12-15 17:42:44
,
所有人可见
,
阅读 3
#include<bits/stdc++.h>
using namespace std;
const int N=55;
int f[N*2][N][N];
int n,m;
int a[N][N];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=2;i<=n+m;i++)
for(int x1=max(1,i-m);x1<=min(n,i-1);x1++)
for(int x2=max(1,i-m);x2<=min(n,i-1);x2++)
{
int t=a[x1][i-x1];
if(x1!=x2)t+=a[x2][i-x2];
for(int a=0;a<=1;a++)
for(int b=0;b<=1;b++)
f[i][x1][x2]=max(f[i][x1][x2],f[i-1][x1-a][x2-b]+t);
}
cout<<f[n+m][n][n];
}
t4