Cod sursa(job #1809361)

Utilizator catalina200029Olteanu Catalina catalina200029 Data 18 noiembrie 2016 21:08:56
Problema Prefix Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <cstring>
#include <fstream>

using namespace std;

ifstream f("kmp.in");
ofstream g("kmp.out");

char p[101],t[101];
int urm[101],n,m,i;

void prefix()
{
    int q,k;
    k=0;                                      ///cel mai lung sufix care e prefix al lui p
    urm[1]=0;
    for (q=2;q<=m;q++) {                      ///lungime subsir
        while (k>0 && p[k]!=p[q-1])
            k=urm[k];
        if (p[k]==p[q-1])
            k++;
        urm[q]=k;
    }
    for (q=1;q<=m;q++)
        cout<<urm[q]<<' ';
    cout<<'\n';
}

int main()
{
f>>n;
for (i=1;i<=n;i++) {
    f>>p;
    m=strlen(p
             );
    prefix();
}
    return 0;
}