样例输入
3
abababa
aaaabaa
acacdas
样例输出
7
5
3
学习manachar算法
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[1000105];
//暴力解法
int fast()
{
int start, endd, len, ans = 0;
for (int i = 1; str[i]; i++) //for循环
{
start = endd = i;
while (str[i] == str[endd + 1])
endd++;
i = endd;
while (str[start - 1] == str[endd + 1])
start--, endd++;
len = endd - start + 1;
if (len>ans)
ans = len;
}
return ans;
}
int main()
{
int n;
cin >> n;
while (n--)
{
str[0] = '!';
cin >>str+1; //从str[1]写入
cout << fast() << endl;
}
return 0;
}