maxsubstring

#include <stdio.h>
#include <string.h>
#include <ctype.h>

char str[5500],ch[5500];
int pos[5500];
int main()
{
  
   int  m,i,j,k,from,to,T;
   scanf("%d%*c",&T);
 
   while(T--)
   {
     memset(str,0,sizeof(str));
     memset(ch,0,sizeof(ch));
     memset(pos,0,sizeof(pos));
     gets(str);
     m=strlen (str);
     j=0;
     for(i=0;i<m;i++)
          {
             if(isalpha(str[i]))
             {
                ch[j]=toupper(str[i]);
                pos[j++]=i;
             }      
          }
     m=j;
     j=0;
     k=-1;
     for(i=0;i<m;i++)
     {  //if(m&1)
           
          for(j=0;i+j<m&&i-j>=0;j++)
          {
           if(ch[i-j]!=ch[i+j])
             break  ;
           if(2*j+1>k)
               {
                      k=2*j+1;
                      from=i-j;
                      to=i+j;
               }
           }
           for(j=0;i+j+1<m&&i-j>=0;j++)
           {
             if(ch[i-j]!=ch[i+j+1])
               break;
             if( 2*j+2>k )
                  {
                    k=2*j+2;
                    from=i-j;
                    to=i+j+1;     
                 
                  }
           }
   }
    for(i=pos[from];i<=pos[to];i++)
       putchar(str[i]);
    putchar('\n');
   
  
}
   return 0;
}

 

 

 

 

 

posted @ 2013-08-14 14:46  hpu张亚飞  阅读(206)  评论(0编辑  收藏  举报