Cod sursa(job #1573241)

Utilizator andreeainfo_dAndreea Dutulescu andreeainfo_d Data 19 ianuarie 2016 15:45:21
Problema Aho-Corasick Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <cstdio>
#include <cstring>
int ;
char ;
struct trie
{
    int cuvinte, prefixe;
    trie *lit[26];
    trie()
    {
        cuvinte=prefixe=phi=0;
        memset(lit, 0, sizeof(lit));
    }
} *andr;
char s[l][23];
void adaug_cuv()
{
    trie *q = andr;
    andr->prefixe ++;
    for(int i=0;i<n;i++)
    {
        if(q->lit[s[l][i]]==0) q->lit[s[l][i]]=new trie;
        q=q->lit[s[l][i]];
        q->prefixe++;
    }
    q->cuvinte++;
    return;
}
int main()
{
    freopen("ahocorasick.in","r",stdin);
    freopen("ahocorasick.out","w",stdout);
    gets(s+1);
    andr = new trie;
    scanf("%d",&nrc);
    for(l=1;l<=nrc;l++)
    {
        gets(s[l]);
        n=strlen(s[l]);
        for (i=0;i<n;i++)
            s[l][i]-='a';
        adaug_cuv();
    }