源码(C++):
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,m,s,j,k,index,len,curlen,t;
cin>>n;
string str,substr,substrr;
while(n)
{
cin>>s;
string *str=new string[s+1];
int i=0;
m=s;
while(s)
{
cin>>str[i];
i++;
s--;
}
len=str[0].length();
index=0;
curlen=0;
substr="";
substrr="";
for(i=1;i<m;i++)
if(str[i].length()>len)
{
len=str[i].length();
index=i;
}
int sublen;
for(i=1;i<=len;i++)
{
for(j=1;j<=len-i+1;j++)
{
substr=str[index].substr(i-1,j);
sublen=substr.length();
substrr="";
for(t=0;t<sublen;t++)
{
substrr.insert(t,substr.substr(sublen-1-t,1));
}
for(k=0;k<m;k++)
if((str[k].find(substr,0)==-1) && (str[k].find(substrr,0)==-1))
break;
if(k==m)
{
if(curlen<substr.length())
curlen=substr.length();
}
}
}
cout<<curlen<<endl;
delete []str;
n--;
}
return 0;
}
注意:输入条件无需判断,只需按照正确的输入处理即可,否则提交后会是WA吆。