我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

P3080——枚举

Posted on 2008-09-02 16:28 Hero 阅读(86) 评论(0)  编辑 收藏 引用 所属分类: 代码如诗--ACM
 1 //3080 Accepted 332K 0MS G++ 1415B PKU
 2 
 3 //暴力枚举
 4 
 5 #include <stdio.h>
 6 #include <string.h>
 7 #include <stdlib.h>
 8 
 9 char data[15][70] ;
10 char sub[70] ;
11 
12 char out[10000][70] ;
13 int ctout ;
14 
15 int innum ;
16 int inn ;
17 
18 void input()
19 {
20     scanf( "%d"&inn ) ;
21     forint i=1; i<=inn; i++ ) 
22     {
23         scanf( "%s", data[i] ) ;
24         //printf( "%s\n", data[i] ) ;
25     }
26 }
27 
28 int cmp( const void *a, const void *b ) 
29 {
30     return strcmp( (char *)a, (char *)b ) ;
31 }
32 
33 bool test()
34 {
35     char *psub ;
36     forint i=2; i<=inn; i++ )
37     {
38         psub = strstr( data[i], sub ) ;
39         if( NULL == psub )    return false ;
40     }
41 
42     return true ;
43 }
44 
45 void process()
46 {
47     int len = 60 ; ctout = 0 ; bool hasone = false ;
48     forint clen=len; clen>=3; clen-- )
49     {
50         hasone = false ;
51 
52         forint sn=0; sn+clen<=len; sn++ )
53         {
54             int sublen = 0 ;
55             forint i=sn; i<sn+clen; i++ ) sub[sublen++= data[1][i] ;
56             sub[sublen] = '\0' ;//枚举子串sub
57 
58             iffalse == test() ) continue ;
59             else
60             {
61                 hasone = true ;
62                 strcpy( out[ctout++], sub ) ;
63             }
64         }
65 
66         if( hasone ) break ;
67     }
68 
69     iffalse == hasone )
70     {
71         printf( "no significant commonalities\n" ) ;
72     }
73     else
74     {
75         qsort( out, ctout, sizeof(out[0]), cmp ) ;
76         printf( "%s\n"out[0] ) ;
77     }
78 }
79 
80 
81 int main()
82 {
83     //freopen( "in.txt", "r", stdin ) ;
84 
85     while( scanf( "%d"&innum ) != EOF )
86     {
87         forint ct=1; ct<=innum; ct++ )
88         {
89             input() ;
90 
91             process() ;
92 
93             //output() ;
94         }
95     }
96 
97     return 0 ;
98 }

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理