Pagini recente » Cod sursa (job #3348642) | Cod sursa (job #658758) | Cod sursa (job #1807871) | Cod sursa (job #552415) | Cod sursa (job #3330710)
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
int main()
{
ifstream f("prefix.in");
ofstream g("prefix.out");
int t;
f >> t;
while(t--)
{
char sir[1000005];
f >> sir;
int len = strlen(sir);
vector<int> p(len);
int l = 0, maxim = 0;
for(int j = 1; j < len; j++)
{
while(l > 0 && sir[j] != sir[l])
l = p[l - 1];
if(sir[j] == sir[l])
l++;
p[j] = l;
}
for(int j=2; j<=len; j++)
{
if(p[j-1]>0)
{
int perioada=j-p[j-1];
if(j%perioada==0)
{
maxim=j;
}
}
}
g << maxim << '\n';
}
return 0;
}