4维DP求助全WA
查看原帖
4维DP求助全WA
464732
luqyou楼主2022/10/28 14:38
#include<bits/stdc++.h>
using namespace std;
int a[11][11],f[11][11][11][11],n;
void cl(int X1,int Y1,int X2,int Y2){
    f[X1][Y1][X2][Y2]-=(X1==X2&&Y1==Y2)?a[X1][Y1]:0;
}
int main(){
    scanf("%d",&n);
    int x=1,y=1,v=1;
    while(x||y||v){
        scanf("%d%d%d",&x,&y,&v);
        a[x][y]=v;
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            for(int k=1;k<=n;k++){
                for(int l=1;l<=n;l++){
                    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])));
                    //cl(i,j,k,l);
                    if(i==k&&j==l) f[i][j][k][l]-=a[i][j];
                }
            }
        }
    }
    printf("%d",f[n][n][n][n]);
    return 0;
}
2022/10/28 14:38
加载中...