Blue Jeans
8907 ワード
http://poj.org/problem?id=3080
View Code
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