Pagini recente » Cod sursa (job #1695025) | Cod sursa (job #976718) | Cod sursa (job #1003886) | Cod sursa (job #3037801) | Cod sursa (job #941053)
Cod sursa(job #941053)
#include <string>
#include <iostream>
#include <cstdio>
using namespace std;
int process_line(string A) {
int ret = 0;
int period = 0;
int cnd = 0;
int pos = 1;
while(pos < A.size()) {
if (A[cnd] == A[pos])
{if (cnd == 0) {period = pos;}
else if (pos % period == 0) ret = pos;
cnd++;pos++;}
else {if (cnd == 0) pos++;
else if (pos % period == 0) ret = pos; cnd = 0;}
}
return ret;
}
int main()
{
freopen("prefix.in", "r", stdin);
freopen("prefix.out", "w", stdout);
int T;
int res;
string line;
scanf("%d\n", &T);
for(int i = 0; i < T; i++) {
getline(cin, line); //cout << line << endl;
res = process_line(line + ' ');
printf("%d\n", res);
}
return 0;
}