pku 3450 Corporate Identity

和3080几乎一样

#include <stdio.h>
#include <string.h>

#define MAXN 4002
#define MAXLEN 205

char ans[MAXLEN],shot[MAXLEN],in[MAXN][MAXLEN];

inline void solve(char *stry,int n)
{
    int i;
    for(i=1; i<n; i++)
    {
        if(!strstr(in[i],stry)) return;
    }
    int t1=strlen(stry),t2=strlen(ans);
    if( t1 > t2 ) strcpy(ans,stry);
    else if( t1 == t2 && strcmp(stry,ans) < 0 )
        strcpy(ans,stry);
}
int main()
{
    int i,j,k,g,n,len0;
    while( scanf("%d",&n),n )
    {
        for(i=0; i<n; i++) scanf("%s",in[i]);
        len0=strlen(in[0]);
        ans[0]=0;
        for(i=0; i<len0; i++)
        {
            for(j=i; j<len0; j++)
            {
                g=0;
                for(k=i; k<=j; k++)
                    shot[g++]=in[0][k];
                shot[g]=0;
                solve(shot,n);
            }
        }
        if( strlen(ans) == 0 ) printf("IDENTITY LOST\n");
        else printf("%s\n",ans);
    }
    return 0;
}

posted @ 2010-08-28 23:16  菜到不得鸟  阅读(169)  评论(0)    收藏  举报