对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?
,最长对称子串为s PAT&TAP s
,于是你应该输出11。
输入格式:
输入在一行中给出长度不超过1000的非空字符串。
输出格式:
在一行中输出最长对称子串的长度。
输入样例:
Is PAT&TAP symmetric?
输出样例:
11
代码长度限制
16 KB
时间限制
200 ms
内存限制
64 MB
#include <iostream>
#define int long long
using namespace std;
signed main()
{
string str;
getline(cin,str);
int res=-1;
for(int i = 0;i < str.size();i ++)
{
for(int j = str.size()-1;j >= i;j --)
{
int l = i,r = j;
while(l <= r&&str[l++]==str[r--])
{
if(l>r)
res = max(res,j-i+1);
}
}
}
printf("%lld",res);
return 0;
}