HDU 2896 AC自动机 (二)

2014-11-23 22:13:32 ? 作者: ? 浏览: 11
void deleteAll(node *p){ for (int i = 0 ; i < 128 ; i ++ ) if(p -> next[i] != 0){ deleteAll(p -> next[i]) ; } delete p ; } char a[11111] ; int num[1111] ; int main() { int n ; cin >> n ; getchar() ; root = new node() ; for (int i = 1 ; i <= n ;i ++ ){ gets(a) ; insert(a ,i ) ; } int m ; cin >> m ; getchar() ; build() ; for (int i = 1 ; i <= m ;i ++ ){ gets(a) ; num[i] = search(a , i) ; } int cc = 0 ; for (int i = 1 ; i <= m ;i ++ ){ if(num[i]){ printf("web %d:",i) ; for(set::iterator p = anss[i].begin() ; p != anss[i].end() ; ++ p) cout <<" "<< *p ; cc ++ ; puts("") ; } } printf("total: %d\n",cc) ; deleteAll(root) ; return 0 ; }

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: