poj1226---字符串
来源:互联网 发布:abaqus软件价格 编辑:程序博客网 时间:2024/04/30 16:10
//很纯很纯的水题//从长度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;}