为社么输出时+1就过了?不加全WA?
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll M=15;
int n,a[M][M],dp[M][M][M][M];
int main()
{
cin>>n;
memset(dp,-1,sizeof(dp));
while(1)
{
int x,y,num;
cin>>x>>y>>num;
if(x==0&&y==0&&num==0) break;
a[x][y]=num;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
for(int x=1;x<=n;x++)
{
for(int y=1;y<=n;y++)
{
int a1,a2,a3,a4;
a1=dp[i-1][j][x-1][y];
a2=dp[i-1][j][x][y-1];
a3=dp[i][j-1][x][y-1];
a4=dp[i][j-1][x-1][y];
dp[i][j][x][y]=max(max(a1,a2),max(a3,a4));
dp[i][j][x][y]+=a[i][j]+(i==x&&j==y?0:a[x][y]);
}
}
}
}
cout<<dp[n][n][n][n]+1;
return 0;
}