Pagini recente » Cod sursa (job #1878747) | Cod sursa (job #3126575) | Cod sursa (job #1450570) | Cod sursa (job #1214675) | Cod sursa (job #2916253)
#include <iostream>
#include <fstream>
#include <cstring>
#define LMAX 1000005
using namespace std;
ifstream fi("prefix.in");
ofstream fo("prefix.out");
int T;
void Solve(string txt,int &S)
{
S=0;
int len=0;
int i=1;
bool var=false;
int M;
while(i<txt.length())
{
if(txt[i]==txt[len])
{
len++;
if(len*2==i+1)
{
M=len;
S=i+1;
var=true;
}
if(var==true)
{
if((i+1)%M==0)
S=i+1;
}
i++;
}else
{
M=i+1;
var=false;
if(len!=0)
len=0;
else
i++;
if(i>txt.length()/2)
{
i=txt.length();
continue;
}
}
}
}
int main()
{
fi>>T;
fi.get();
for(register int test=1;test<=T;test++)
{
string txt;
fi>>txt;
int S;
Solve(txt,S);
fo<<S<<"\n";
}
return 0;
}