天天看點

最長對稱子串

#include <bits/stdc++.h>
using namespace std;
bool check(string b)
{
  int l=b.size();
  for(int i=0,j=l-1;i<j;i++,j--)
  {
    if(b[i]!=b[j]) return false;
  }
  return true;
}
int main()
{
  string a;
  getline(cin,a);
  int n=a.size();
  int ans=1;
  for(int i=0;i<n;i++)
  {
    for(int j=ans;i+j<=n;j++)//從長度為現在最大時開始枚舉
    {
      string b=a.substr(i,j);
      if(check(b)) 
      {
        ans=max(ans,j);
      }
    }
  }
  cout<<ans<<endl;
  return 0;
}      

繼續閱讀