为什么会wa2个点
查看原帖
为什么会wa2个点
69718
ladygaga楼主2017/11/9 20:25
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,f[60][60][60][60],a[60][60];
int main()
{  int x,y,z,m;
    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<=n;i++)
    for(int j=1;j<=n;j++)
    for(int k1=1;k1<=n;k1++)
    for(int k2=1;k2<=n;k2++)
    {
        f[i][j][k1][k2]=max(f[i-1][j][k1-1][k2],f[i][j][k1][k2]);
        f[i][j][k1][k2]=max(f[i-1][j][k1][k2-1],f[i][j][k1][k2]);
        f[i][j][k1][k2]=max(f[i][j-1][k1][k2-1],f[i][j][k1][k2]);
        f[i][j][k1][k2]=max(f[i][j-1][k1-1][k2],f[i][j][k1][k2]);
        if(i!=k1&&j!=k2) f[i][j][k1][k2]+=a[i][j]+a[k1][k2];
        else f[i][j][k1][k2]+=a[i][j];
    }
    printf("%d",f[n][n][n][n]);
}
自我感觉良好
2017/11/9 20:25
加载中...