#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 | #63713006 | Utilizator | |
| Fișier | cuvinte10.cpp | Dimensiune | 3.04 KB |
| Data încărcării | 16 Martie 2026, 12:43 | Scor/rezultat | Eroare de compilare |
cuvinte10.cpp: In function 'int main()': cuvinte10.cpp:65:14: error: expected unqualified-id before '[' token auto [u, d] = q.front(); ^ cuvinte10.cpp:68:20: error: 'u' was not declared in this scope if (is_end[u] || d >= max_x) continue; ^ cuvinte10.cpp:68:26: error: 'd' was not declared in this scope if (is_end[u] || d >= max_x) continue; ^ cuvinte10.cpp:72:22: error: 'u' was not declared in this scope if (trie[u][c]) { ^ cuvinte10.cpp:74:37: error: 'd' was not declared in this scope q.push({trie[u][c], d + 1}); ^ cuvinte10.cpp:74:43: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' q.push({trie[u][c], d + 1}); ^ cuvinte10.cpp:74:43: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from cuvinte10.cpp:4: /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const std::pair<int, int>&}' /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}' cuvinte10.cpp:77:11: error: 'd' was not declared in this scope F[d] += (k - children_count); ^
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ă.