Advertisement
Guest User

Untitled

a guest
Dec 9th, 2013
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include<cstdio>
  2. #include<string>
  3. using namespace std;
  4. string st[100][100],tmp;
  5. int len[100][100],i,j,k,l,m,t,n;
  6. char d[100][100],ch;
  7. int main(){
  8.     scanf("%d",&t);
  9.     while(t--){
  10.         scanf("%d",&n);
  11.         for(i=0;i<n;i++){
  12.             scanf("%c",&ch);
  13.             for(j=0;j<n;j++){
  14.                 scanf("%c",&ch);
  15.                 len[i][j]=0;
  16.                 st[i][j]="";
  17.                 if(i>=j) continue;
  18.                 len[i][j]=1;
  19.                 st[i][j]+=ch;
  20.                 d[i][j]=ch;
  21.             }  
  22.         }  
  23.         for(k=1;k<n;k++){
  24.             for(i=0;i<n;i++){
  25.                 if(i+k>=n) break;
  26.                 j=i+k;
  27.                 for(l=i+1;l<j;l++){
  28.                     for(m=l;m<j;m++){
  29.                         if(d[i][l]==d[m][j]){
  30.                             tmp=d[i][l]+st[l][m]+d[m][j];
  31.                             if(len[l][m]+2>len[i][j]){
  32.                                 len[i][j]=len[l][m]+2;
  33.                                 st[i][j]=tmp;  
  34.                             }  
  35.                             else if(len[l][m]+2==len[i][j] && st[i][j]>tmp) st[i][j]=tmp;    
  36.                         }  
  37.                     }
  38.                 }
  39.             }  
  40.         }
  41.         printf("%s\n",st[0][n-1].c_str());
  42.     }  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement