Cod sursa(job #769533)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 19 iulie 2012 19:09:06
Problema Prefix Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
#include<string.h>
using namespace std;

int nr,n,i,j,k;
char c[1000001];
int oldnrprefix, newnrprefix, oldlprefix, newlprefix, 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);
//g<<c<<"    length: "<<n;
oldlprefix=1; oldnrprefix=1;
newlprefix=1; newnrprefix=1;

//g<<endl;

while(newlprefix<=(n/2+1))
{wahr=1;
//g<<oldnrprefix<<" ";
	while(wahr==1)
	{
 	for(i=0; i<newlprefix; i++)
    	if(c[newlprefix*newnrprefix+i]!=c[i])
          {wahr=0;
           newnrprefix=1;   newlprefix=newnrprefix*newlprefix+1;
           break;}
 	 if(wahr==1)
		 { newnrprefix++; 
 		 oldnrprefix=newnrprefix;
  		oldlprefix=newlprefix;}
	}

}      


if(oldnrprefix==1)
  g<<"0";
else
  {length=oldlprefix*oldnrprefix;
   g<<length;}
g<<endl; 

//g<<"Das ist alles"<<endl<<endl<<endl<<endl;
}

f.close();
g.close();

return 0;}