Informatika gyűjtemény

Egy szinttel feljebb Megoldás

2004050607080910

NézetNyomtat

algoritmusok

Táblázat

Minden mintához legyártjuk azt a T[i,j] tömböt, amiben az [i,j] indexű elem logikai igaz, ha az i. karakter pozíción állhat a j. karakter. Ezzel a tömbbel végezzük a megadott minták ellenőrzését.

Szófa

A "szótár" szavaiból felépítünk egy szófát, és annak bejárásával ellenőrizzük a mintákat. A szófa gyökere az üres szó, minden csúcsnak 26 gyereke lehet, amiket az angol ábécé betűivel címkézhetünk. Ha a gyökérből indulva eljutunk egy levélig, akkor a bejárt élek címkéit összeolvasva a szótár egy szavát kapjuk. Minden szótári szó kijön valamelyik bejárásnál, és más szó így nem kapható meg.
Az ábrán látható szófa a következő szótárat kódolja: {AD, AKAD, AKAR, ALMA}.

Kódok

Mezei Balázs (C#): mb_alienlang.cs
Uray János (C++): uj_alienlang.cpp