#3757
Se dau N cuvinte formate doar din primele K litere mici ale alfabetului englez și un șir xi de M numere naturale. Trebuie să se formeze M cuvinte astfel încât oricare cuvânt i (1 ≤ i ≤ M) să respecte
următoarele proprietăți:
xiK litere mici ale alfabetului englezcuv din cele N date inițial sau din celelalte M - 1 nou formate astfel încât cuv să fie prefix al cuvântului icuv din cele N date inițial sau din celelalte M - 1 nou formate astfel încât cuvântul i să fie prefix al lui cuvSă se calculeze numărul de moduri de a forma M cuvinte care respectă proprietățile de mai sus. Două moduri se consideră diferite dacă există cel puțin o poziție i pentru care al i-lea cuvânt diferă. Deoarece acest număr poate fi foarte mare, se va afișa doar restul său la împărțirea cu 1.000.000.007.
ONSEPI, 2021, clasele XI-XII
| Problema | Cuvinte10 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 512 MB
/
Stivă 128 MB
|
| Id soluție | #36045575 | Utilizator | |
| Fișier | cuvinte10.cpp | Dimensiune | 2.02 KB |
| Data încărcării | 01 Aprilie 2022, 22:51 | Scor/rezultat | 38 puncte |
cuvinte10.cpp: In function 'void insertt(trie*, char)': cuvinte10.cpp:19:18: warning: array subscript has type 'char' [-Wchar-subscripts] nod->letter[c]=next; ^ cuvinte10.cpp: In function 'int32_t main()': cuvinte10.cpp:56:26: warning: array subscript has type 'char' [-Wchar-subscripts] if(pnt->ap[ch]==0) ^ cuvinte10.cpp:58:27: warning: array subscript has type 'char' [-Wchar-subscripts] pnt->ap[ch]=1; ^ cuvinte10.cpp:60:35: warning: array subscript has type 'char' [-Wchar-subscripts] pnt=pnt->letter[ch]; ^ cuvinte10.cpp:64:27: warning: array subscript has type 'char' [-Wchar-subscripts] pnt->ap[ch]++; ^ cuvinte10.cpp:65:35: warning: array subscript has type 'char' [-Wchar-subscripts] pnt=pnt->letter[ch]; ^ cuvinte10.cpp:51:25: warning: variable 'endd' set but not used [-Wunused-but-set-variable] trie *pnt=root,*endd; ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.004 secunde | OK. | 4 | 4 | ||
| 2 | 0.004 secunde | OK. | 4 | 4 | ||
| 3 | 0.016 secunde | OK. | 4 | 4 | ||
| 4 | 0.016 secunde | OK. | 5 | 5 | ||
| 5 | 0.016 secunde | OK. | 5 | 5 | ||
| 6 | 0.016 secunde | OK. | 5 | 5 | ||
| 7 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 8 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 9 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 10 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 12 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 13 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 14 | 0.2 secunde | OK. | 2 | 2 | ||
| 15 | 0.236 secunde | OK. | 2 | 2 | ||
| 16 | 0.188 secunde | OK. | 2 | 2 | ||
| 17 | 0.108 secunde | OK. | 2 | 2 | ||
| 18 | 0.124 secunde | OK. | 3 | 3 | ||
| 19 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 20 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 21 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 22 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 23 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 24 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 25 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 26 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 27 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 28 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 29 | Depășit | Limita de timp depășită | 4 | 0 | ||
| Punctaj total | 38 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cuvinte10 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ă.