题目链接:http://poj.org/problem?id=3450
代码:
#include<string.h>
#include<stdio.h>
char p[4010][4010];
int main()
{
int m;
while(scanf("%d",&m)&&m!=0)
{
for(int j=0;j<m;j++)
scanf("%s",p[j]);
char ans[4010];
int len;
len=0;
int h=strlen(p[0]);
for(int i=0;i<h;i++)
for(int j=i;j<h;j++)
{
char s[4010];
strncpy(s,p[0]+i,j-i+1);
s[j-i+1]='\0';
int flag=1;
for(int k=1;flag==1&&k<m;k++)
if(strstr(p[k],s)==NULL)
flag=0;
if(flag==1&&(j-i+1>len||j-i+1==len&&strcmp(ans,s)>0))
{
len=j-i+1;
strcpy(ans,s);
}
}
if(len==0)printf("IDENTITY LOST\n");
else
printf("%s\n",ans);
}
return 0;
}