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

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


Timp maxim de execuţie / test:
0.6s
Memorie totala disponibilă / stivă:
2MB / 1MB

Fie N cuvinte formate din litere ale alfabetului englez și un șablon format din următoarele tipuri de caractere:
1. Litere ale alfabetului englez,
2. Caracterul ? care înlocuiește o literă a alfabetului englez,
3. Caracterul * care înlocuiește un număr natural (0, 1, 2, ...) de litere ale alfabetului englez.
Pot exista mai multe caractere ? și *, posibil alăturate.

Cerinţă

Se cere să se scrie un program care să determine cuvintele care se potrivesc cu șablonul.
Nu este necesară scrierea întregului cuvânt, ci doar numărul lui de ordine (de la 1) în lista cuvintelor.

Date de intrare

Programul citește din fișierul sablon2.in.
Pe prima linie se găsește numărul natural N, iar pe următoarea linie se găsește șablonul S.
Pe următoarele linii se găsesc cele N cuvinte Ci, fiecare pe o linie.

Date de ieşire

Programul scrie pe prima linie din fișierul sablon.out.
Vor fi scrise K linii, unde K este numărul de cuvinte care se potrivesc.
Pe linia k se găsește numărul de ordine al celui de-al k-lea cuvânt care se potrivește.

Restricţii

1N102
1 ≤ |Ci|, |S| ≤ 103

Exemple

sablon2.insablon2.outExplicaţii
2 t*A? tic tAC 2 Primul cuvânt, tic, nu se potrivește cu șablonul. Al doilea cuvânt se potrivește: * înlocuiește 0 caractere, iar ? înlocuiește caracterul C.
2 ?A* DA tAg 1 2 Ambele cuvinte se potrivesc.

autor: Dr. Adrian Iftene
propunător: Stud. Vlad Manea
FII
vlad.c.manea@gmail.com
Probleme recomandate
De la FII Competition 2011: lipsa, reducere, viena, sir9, fibgcd, acoperire, razboi, safeu, centrala, benzina2, bradut2, capra, agendatelefonica, cds, micro, wg
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre pattern matching: virus, sablon3
surse trimise | ajutor