样例过,20分
以下为代码:
#include<iostream>
using namespace std;
int a[10][10][10][10]={0},u,n,b[10][10];
int main(){
cin>>u;
n=u;
while(u--){
int x,y,z;
cin>>x>>y>>z;
b[x][y]=z;
}
a[1][1][1][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int o=1;o<=n;o++){
for(int p=1;p<=n;p++){
int kkkll=max(a[i-1][j][o-1][p],a[i-1][j][o][p-1]),kkll=max(a[i][j-1][o-1][p],a[i][j-1][o][p-1]);
a[i][j][o][p]=max(kkkll,kkll);
if(i==o&&j==p){
a[i][j][o][p]+=b[i][j];
}
else{
a[i][j][o][p]+=b[i][j]+b[o][p];
}
}
}
}
}
cout<<a[n][n][n][n];
return 0;
}