Pagini recente » Cod sursa (job #435641) | Cod sursa (job #1430015) | Rating Mihaescu Razvan (mihaescurazvan) | Cod sursa (job #1127354) | Cod sursa (job #769542)
Cod sursa(job #769542)
#include<fstream>
#include<string.h>
using namespace std;
long nr,n,i,j,k;
char c[1000001];
long onp, nnp, olp, nlp;
int wahr;
long length;
int main()
{
ifstream f("prefix.in");
ofstream g("prefix.out");
f>>nr;
f.get();
for(k=0; k<nr; k++)
{f.getline(c,sizeof(c));
n=strlen(c);
olp=1; onp=1;
nlp=1; nnp=1;
for(j=1; j<=n/2; j++)
if(c[j]==c[0]&&j>=olp*onp)
{nnp=1; nlp=j; wahr=1;
while(wahr==1)
{for(i=0; i<nlp; i++)
if(c[nlp*nnp+i]!=c[i])
{wahr=0; break;}
if(wahr==1)
{nnp++;
onp=nnp;
olp=nlp;}
}
}
if(onp==1)
g<<"0";
else
{length=olp*onp;
g<<length;}
g<<endl;
//g<<"Das ist alles"<<endl<<endl<<endl<<endl;
}
f.close();
g.close();
return 0;}