代码很好理解的:
#include<bits/stdc++.h>
using namespace std;
int len,l,r,c[20010];
string p,str,ss;
int main(){
getline(cin,str);
while(getline(cin,p)) str=str+'\n'+p;
for(int i=0;i<str.length();i++){
if(str[i]>='a'&&str[i]<='z'){
ss+=char(str[i]-32);
c[ss.length()-1]=i;
}
if(str[i]>='A'&&str[i]<='Z'){
ss+=str[i];
c[ss.length()-1]=i;
}
}
for(int i=0;i<ss.length();i++){
int p=i,q=i;
while(p>0&&q<ss.length()-1&&ss[p-1]==ss[q+1]){p--; q++;}
if(q-p+1>len){
l=c[p];
r=c[q];
len=q-p+1;
}
}
printf("%d\n",len);
for(int i=l;i<=r;i++) putchar(str[i]);
return 0;
}