#include<bits/stdc++.h> using namespace std; int a[1005][1005]; int maxlu; int n; void findmax(int x,int y,int lu){ if(x==n+1){ if(lu>maxlu){ maxlu=lu; } return; } for(int i=y;i<y+2;i++){ if(i<=x){ lu+=a[x][i]; findmax(x+1,i,lu); lu-=a[x][i]; } } } int main() { int t; cin>>t; while(t--){ maxlu=0; memset(a,0,sizeof(a)); cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cin>>a[i][j]; } } findmax(1,1,0); cout<<maxlu<<endl; } return 0; } |
Double click to view unformatted code.