自己电脑编译器答案是正确的,但是到测试数据的时候全是错的 这是为啥??
include<stdio.h>
typedef long long ll;
ll max(ll x,ll y){
if(x>y)
return x;
else
return y;
}
int main(){
ll a[15][15];
ll n;
ll x,y,z;
ll dp[15][15][15][15];
scanf("%lld",&n);
while(1){
scanf("%lld %lld %lld",&x,&y,&z);
if(x==0&&y==0&&z==0){
break;
}
else{
a[x][y]=z;
}
}
for(ll i=1;i<=n;i++){
for(ll j=1;j<=n;j++){
for(ll k=1;k<=n;k++){
for(ll l=1;l<=n;l++){
dp[i][j][k][l]=max(max(dp[i-1][j][k-1][l],dp[i][j-1][k][l-1]),max(dp[i-1][j][k][l-1],dp[i][j-1][k-1][l]))+a[i][j]+a[k][l];
if(i==k&&j==l){
dp[i][j][k][l]-=a[i][j];
}
}
}
}
}
printf("%lld",dp[n][n][n][n]);
return 0;
}