Blue Jeans

8907 ワード

http://poj.org/problem?id=3080

 1 #include<cstdio>

 2 #include<cstring>

 3 #include<algorithm>

 4 using namespace std;

 5 char s[100][100],s1[100],s2[100];

 6 int main()

 7 {

 8     int t,m,j,h;

 9     scanf("%d",&t);

10     while(t--)

11     {

12         scanf("%d",&m);

13         s2[0]='\0';

14         bool flag=false;

15         for(int i=0; i<m; i++)

16         {

17             scanf("%s",s[i]);

18         }

19         for(j=0; j<60; j++)

20         {

21             int len=2;

22             while(j+len<60)

23             {

24                 int c=0;

25                 for(int i=j; i<=j+len; i++)

26                 {

27                     s1[c++]=s[0][i];

28                 }

29                 s1[c]='\0';

30                 for(h=1; h<m; h++)

31                 {

32                     if(strstr(s[h],s1)==NULL)

33                         break;

34                 }

35                 if(h==m)

36                 {

37                     if(strlen(s2)==strlen(s1))

38                     {

39                         if(strcmp(s2,s1)>0)

40                         {

41                             flag=true;

42                             strcpy(s2,s1);

43                         }

44                     }

45                     else if(strlen(s1)>strlen(s2))

46                     {

47                         flag=true;

48                         strcpy(s2,s1);

49                     }

50                 }

51                 len++;

52             }

53         }

54         if(flag) printf("%s
",s2); 55 else printf("no significant commonalities
"); 56 } 57 return 0; 58 }

View Code