//很纯很纯的水题
//从长度len---1依次枚举,数据相当弱,就这样过了
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
char str[110][110],st[110],en[110];
int n,m,t;
bool isok(char *ch,char *cg,int len,int id)
{
int j,k,l;
for(j=0; j+len<=strlen(str[id]); j++)
{
bool tmp1=false,tmp2=false;
for(k=j,l=0; l<len; k++,l++)
{
if(ch[l]!=str[id][k]) tmp1=1;
if(cg[l]!=str[id][k]) tmp2=1;
}
if(!tmp1||!tmp2) return 1;
}
return 0;
}
int solve(int id)
{
int i,j,k,len=strlen(str[id]),maxl;
maxl=len;
while(len)
{
for(i=0; i+len<=maxl; i++)
{
for(j=i,k=0; k<len; j++,k++)
{
st[k]=str[id][j];
en[k]=str[id][len+i-k-1];
}
for(j=k=0; j<n; j++)
if(!isok(st,en,len,j))
{
k=1;break;
}
if(!k) return len;
}
len--;
}
return 0;
}
int main()
{
int i,j,k,id,maxl;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=id=0,maxl=110; i<n; i++)
{
scanf("%s",str[i]);
if(strlen(str[i])<maxl)
{
maxl=strlen(str[i]),id=i;
}
}
printf("%d\n",solve(id));
}
return 0;
}
poj1226---字符串
最新推荐文章于 2020-08-24 16:09:54 发布