hihocoder-1014

来源:互联网 发布:美图秀秀for mac 编辑:程序博客网 时间:2024/04/28 20:05

hihocoder-1014-字典树

#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <cctype>#include <climits>#include <ctime>#include <iostream>#include <algorithm>#include <map>#include <set>#include <vector>#include <queue>#include <utility>#include <stack>#include <functional>using namespace std;typedef long long lovelive;const int inf = INT_MAX;const double pai = acos(-1.0);const double gold = (sqrt(5.0) - 1.0) / 2.0;struct node{    int child[26], cnt;    void init()    {        cnt = 0;        memset(child, -1, sizeof(child));    }};node trie_arr[1000117];int n, m, num, countc;char input_str_arr[12], qu_str_arr[12];void input_data()  //trie建立{    int i, j, k, pos;    memset(input_str_arr, 0, sizeof(input_str_arr));    scanf("%s", input_str_arr);    i = 0, pos = 0;    while(input_str_arr[i])    {        k = input_str_arr[i] - 'a';        if(trie_arr[pos].child[k] == -1)        {            trie_arr[num].init();            trie_arr[pos].child[k] = num++;        }        pos = trie_arr[pos].child[k];        trie_arr[pos].cnt += 1;        i += 1;    }return ;}void solve()  //trie查询{    int i, j, k, pos;    countc = 0;    memset(qu_str_arr, 0, sizeof(qu_str_arr));    scanf("%s", qu_str_arr);    i = 0, pos = 0;    while(qu_str_arr[i])    {        k = qu_str_arr[i] - 'a';        if(trie_arr[pos].child[k] == -1)        {            countc = 0;            return ;        }        pos = trie_arr[pos].child[k];        i += 1;    }    countc = trie_arr[pos].cnt;return ;}void output_data(){    int i, j, k;    printf("%d\n", countc);return ;}int main(int argc, char const *argv[]){#ifndef ONLINE_JUDGE//    freopen("in.in", "r", stdin);//    freopen("out.out", "w", stdout);#endif // ONLINE_JUDGE    int i, j, k;    while(scanf("%d", &n) != EOF)    {        num = 1;        trie_arr[0].init();        while(n--)        {            input_data();        }        scanf("%d", &m);        while(m--)        {            solve();            output_data();        }    }return 0;}

没什么可说的吧。。。

0 0
原创粉丝点击