Advertisement
rnort

Untitled

Apr 6th, 2012
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include <stdio.h>
  2. #define SIZE 100000
  3.  
  4. int main(void)
  5. {
  6.    
  7.     char s[SIZE] = {0};
  8.     gets(s);
  9.     char subs[SIZE] = "-1\0";
  10.     int cb = 0, ce = 0;
  11.     int ab = 0, ae = 0;
  12.  
  13.     for (int i = 0; i < SIZE && s[i]; ++i){
  14.         cb = i;
  15.         ce = i;
  16.         for (int j = i+1; j < SIZE && s[j]; ++j)
  17.         {
  18.             if (s[i] == s[j]){
  19.                 for (int k = 0; k < (j-i)/2; ++k){
  20.                     if ( s[i+k] != s[j-k]){
  21.                         ce = j;
  22.                     }
  23.                 }
  24.             }
  25.             else{
  26.                 ce = j;
  27.             }
  28.         }
  29.         if ( (ae - ab) < ( ce - cb))
  30.         {
  31.             ae = ce;
  32.             ab = cb;
  33.         }
  34.     }
  35.     if ((ae-ab) > 1){
  36.         for (int i = ab ; i <= ae; ++i)
  37.             subs[i-ab] = s[i];
  38.         subs[ae-ab+1] = 0;
  39.     }
  40.     printf("%s", subs);
  41.  
  42.     fflush(stdin);
  43.     getc(stdin);
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement