.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » prefix

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
prefix


Timp maxim de executie/test:
0.4 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

Anumite structuri biologice pot fi reprezentate prin secvente de constituenti. Constituentii sunt notati cu litere mari. Biologii sunt interesati în descompunerea unei secvente lungi în altele mai scurte, denumite primitive.
Spunem ca o secventa S poate fi compusa dintr-o multime data P de primitive, daca exista n primitive p1, p2, ..., pn în P astfel încât S sa se obtina prin concatenarea lor. Aceeasi primitiva poate aparea în concatenare de mai multe ori sau poate lipsi. De exemplu, secventa ABABACABAAB poate fi obtinuta din multimea de primitive {A, AB, BA, CA, BBC}.
Primele K caractere ale unei secvente S constituie prefixul lui S de lungime K.

Cerinta

Scrieti un program care accepta la intrare un set P de primitive si o secventa T formata din constituenti. Programul trebuie sa calculeze lungimea celui mai lung prefix al secventei T care poate fi obtinut cu primitive din P.

Date de intrare

Fisierul de intrare prefix.in contine pe prima linie numarul natural N, care reprezinta numarul de primitive din P (1<=N<=20). Urmatoarele 2*N linii contin primitivele. Pentru fiecare primitiva sunt scrise doua linii: pe prima linie este lungimea primitivei, iar pe urmatoarea o succesiune de maxim 20 litere mari, care reprezinta primitiva. Cele N primitive sunt distincte. Pe urmatoarele linii se afla secventa de examinat, cate un caracter pe o linie. Secventa contine maxim 500000 litere mari, sfârsitul secventei fiind marcat de aparitia caracterului punct.

Date de iesire

In fisierul de iesire prefix.out se va scrie o singura linie pe care se afla lungimea celui mai lung prefix al lui T care poate fi format din elemente ale multimii P.

Exemple

prefix.in prefix.out
5
1
A
2
AB
3
BBC
2
CA
2
BA
A
B
A
B
A
C
A
B
A
A
B
C
.
11

 

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Probleme recomandate
Despre vector: trei, simetric, egal, ruleta, pod, uscat, afise, an, bunici, cursa, onu, tramvai, cadou, kpal, expresie, piticot, roci, petrol, grad, ruleta2, ecran, palma, concurs, holo, ab2, tren2, cifre, mgo, firma, anagrame, joc2, br, maxim, astre, numere2, baby, zapada, hd, startrek, vecini2, drept, teatru, tir, patrate2, nr, cifra, repeat, unu, criptare, ratb, placi, sume3, turist, matrice3, pavaj, sume, kafka, bacan, spair, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, ants, div3, jeton, politic, trecere, maraton, zaruri, suma1, mere1, agitatie, lacuri, secv, sotron, triunghi, carti1, spioni, kalah, excursia, matricea, maxq, oras, furnici, baschet, ingerasi, numar1, prieteni, aritma, cezar, bifo, pal, seceta, bare, soricel1, antena, avere, paianjen, bloc, schi, suma3, fractie, tunel, pepsi, tren3, avion, premii1, csir, top, bsir, secvente, cod4, cuburi3, limbaj, panouri, sant1, zumzi, sport1, baschet1, mere3, powerpuff, placare, sir4, volei1, tabel, ocr, numere7, lacusta, flori, pluton, elfi, mare, grupe1, maroco, cartonas, cabina, case, cod5, furnica, numere8, paritate, comoara1, exponent, control, exp1, joc13, popas, reactivi, siruri1, vanatoare, submult, text1, taxe1, visul, paranteze, puncte3, cub3, numere9, panglica, pietre, poartas, sume2, bal, secvsir, vot, prefix1, accesibil, palc, standard, bursa, meteo, jetoane, printesa, palindrom, joker, matriosca, loto, cuvant, cladiri1, secvente1, zar, tren4, asociativ, lego, medalii, figura, joc14, neuroni, char, dartz, turism1, calorii, xor1, paltrei, album, livada1, colorare, greutati, brazi, submatrix1, plaja, cd1, cifru3, permutare, miere, tetris1, conferinta, atelier, radical, bileprime, nx, atletism, sumb, minmax, sumacifre, jocprim, sircifre, cmmdcsecv, secvb, siruri3, cifru4, vase, carte1, grad1, litere, magic6, macheta, butoane, ec, stalpi2, fagure, goe, papusa, taburet, mesaj3, zar1, joc16, talent, joc18, cos, punctfix, risipa, liste, triburi, nr0, oneton, nor, nrpomi, paisprezece, anagramabil, zuma, joc20, dale, perechi2, consiliu, becuri2, codpatrat, adprod, qtri, reconst, arme, triunghi4, deal, ozn1, cifru5, flori1, elicop, roata, trifoi, maxbin, culori2, numar5, bile6, proiecte, alune, cuburi4, sstabil, intersectii, copaci2, 7segmente, amedie, drept2, divider, eliminare, matd3, prodnr, fraze, vectori1, compar, unific, galbeni, clepsidru, calcule, puncte6, maxp, cursa1, secvp, swap, extraprime, onigim, divizori1, remi1, tetris3, amestec, eoliene, split, momente, secvente2, ausoara, aranjare2, vintage, binremove, sminus, subsets, interclasare, palindromuri, colina, doitrei, rebus1, tcif, munte3, triunghi6, schi1, rascoala, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
surse trimise | ajutor