#1493
Se consideră alfabetul compus din literele mici, de la a la z, fără diacritice. Se numeşte cuvânt un şir finit, eventual vid, de litere din alfabet. Se numeşte mască un şir de caractere din alfabet având eventual în plus caracterele ? şi * cu următoarea semnificaţie: caracterul ? înlocuieşte oricare din literele de la a la z (o singură literă) iar caracterul * înlocuieşte un cuvânt oarecare, eventual vid, format cu litere de la a la z.
Spre exemplu avem masca a?b*c. Dacă avem 3 cuvinte şi anume abbc, acbaac şi abac atunci primele 2 se potrivesc cu masca.
Considerându-se o listă de cuvinte, să se determine:
a) Numărul de cuvinte distincte.
b) Numărul de cuvinte distincte ce se potrivesc cu o mască dată, adică se pot obţine prin înlocuirea caracterelor ? şi * din mască.
Olimpiada locală de Informatică, Prahova, 2016
| Problema | Masca | Operații I/O |
masca.in/masca.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 4 MB
/
Stivă 2 MB
|
| Id soluție | #59455031 | Utilizator | |
| Fișier | masca.cpp | Dimensiune | 2.12 KB |
| Data încărcării | 30 Septembrie 2025, 11:46 | Scor/rezultat | Eroare de compilare |
masca.cpp:10:26: error: redefinition of 'int lstea' int nrstea,lstea1,lstea2,lstea; ^ masca.cpp:6:5: error: 'int lstea' previously declared here int lstea; ^ masca.cpp: In function 'int main()': masca.cpp:19:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(x=0;x<strlen(s);x++) ^ masca.cpp:26:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(x<strlen(m)&&ok==1) ^ masca.cpp:42:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(x<strlen(m)&&ok==1) ^ masca.cpp:60:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(x<strlen(m)&&ok==1) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Masca face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.