Run ID:136394
提交时间:2025-11-13 10:27:23
#include <bits/stdc++.h> using namespace std; string a; int f,i,j,s; int dg(int begin,int b,int c,int end) { int temp=1; while (begin<end) { if (a[b]==a[c]) { b--; c++; } else { temp=0; break; } begin++; end--; } if (temp!=0) s++; } int jo(int k) { int d,t; if (k%2==0) { if (f==0) { k=k/2-1; j=k; d=j+1; } else d=i; dg(f,j,d,i); } else { if (f==0) { k=k/2; j=k; d=j+1; t=j-1; } else { d=i; t=j; } dg(f,t,d,i); } if (f==0) return j; } int main() { int k; cin>>a; s=a.size(); i=s-1; f=0; if (s>1) j=jo(s); k=0; while (k<2 and s>=3) { while (j<a.size()-1) { i=j+1; if (k==1 and a.size()>3) { i=j+2; k=2; } f=j; while (i<a.size()) { if (a.size()>2) jo(i-j+1); i++; } j++; } reverse(a.begin(),a.end()); j=1; k++; } cout<<s<<endl; return 0; }