#include <iostream>
using namespace std;

int main() 
{
    string str;
    cin>>str;
    int ans=0;
    for(int i=0;i<str.length();i++)
    {
        int an=0;
        if(str[i]==str[i+1])
        {
            for(int j=i,k=i+1;j>=0&&k<str.length();j--,k++)
            {
                if(str[j]!=str[k]) break;
                else an++;
            }
            ans=max(an*2,ans);
        }
        an=0;
        if(str[i]==str[i+2])
        {
             for(int j=i,k=i+2;j>=0&&k<str.length();j--,k++)
            {
                if(str[j]!=str[k]) break;
                else an++;
            }
            ans=max(an*2+1,ans);
        }
    }
   cout<<ans;
}

由题目可知,有效密码即为最长回文字符串,数据范围为2500,暴力即可通过

参与地址