#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
string res[110];
int main() {
int n,t;
string x1,x2;
cin>>t;
while(t--){
cin>>n;
int min=1000,k;
for(int i=0;i<n;i++){
cin>>res[i];
if(res[i].size()<min){
min=res[i].size();
k=i;
}
}
for(int i=min;i>0;i--){//长度
for(int j=0;j<=min-i;j++){//起始位置
x1=x2=res[k].substr(j,i);
reverse(x2.begin(),x2.end());
//cout<<"x1="<<x1<<' '<<"x2="<<x2<<endl;
//system("pause");
int a=0;
for(;a<n;a++){
if(res[a].find(x1)==string::npos&&res[a].find(x2)==string::npos) break;
}
//cout<<"a="<<a<<endl;
if(a==n){
cout<<x1.size()<<endl;
goto next;
}
}
}
cout<<0<<endl;
next:continue;
}
return 0;
}
POJ子串
最新推荐文章于 2020-10-31 19:02:15 发布