代码如下,不知道错哪里了:```c
#include<bits/stdc++.h>
using namespace std;
int a[105][105],b[30],c[30],max3=0,max4=0,n;
int dfs(int x,int y,int max1){
int max2=max1+a[x][y];
max3++;
if(x!=n){
b[max3]=1;
dfs(x+1,y,max2);
}
if(y!=n){
b[max3]=2;
dfs(x,y+1,max2);
}
if(x==n&&y==n){
if(max2>max4){
for(int i=1;i<=max3;i++)
c[i]=b[i];
max4=max2;
}
}
max3--;
return 0;
}
int main(){
int x,y,z,maxx;
cin>>n;
for(;;){
cin>>x>>y>>z;
if(x==0&&y==0&&z==0)
break;
a[y][x]=z;
}
dfs(1,1,0);
x=1,y=1;
for(int i=1;i<=2n-2;i++){
a[x][y]=0;
if(c[i]==1)
x++;
else
y++;
}
a[x][y]=0;
for(int i=1;i<=2n-2;i++)
b[i]=0;
maxx=max4;
max4=0;
dfs(1,1,0);
cout<<maxx+max4;
return 0;
}