Cod sursa(job #253247)

Utilizator 630r63Ilinca George Mihai 630r63 Data 5 februarie 2009 16:35:47
Problema Prefix Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
 #include <cstdio>  
 #include <cstring>  
   
 #define MAX_S 1000005  
   
 char S[MAX_S];  
 int pi[MAX_S];  
 int T, N, MAX;  
   
 void make_prefix()  
 {  
     int q = 0, i;  
   
     for(i = 2, pi[1] = 0; i <= N; ++i)  
     {  
         while(q && S[q+1] != S[i])  
             q = pi[q];  
         if(S[q+1] == S[i])  
             ++q;  
         pi[i] = q;  
   
         if(q && (i % (i - q) == 0))  
             MAX = i;  
     }  
 }  
   
 void solve()  
 {  
     gets(S + 1);  
     N = strlen(S + 1);  
     MAX = 0;  
   
     make_prefix();  
     printf("%d\n",MAX);  
 }  
   
 int main()  
 {  
     freopen("prefix.in","rt",stdin);  
     freopen("prefix.out","wt",stdout);  
     scanf("%d\n",&T);  
     while(T--)  
     }