#3526
Se dă un string s de lungime n și q query-uri de forma (op, x, y), unde op poate fi 0 sau 1. Dacă op este egal cu 1, atunci caracterul de pe poziția x din s va deveni y. Dacă op este egal cu 0, se va afișa numărul de caractere distincte ale lui s din intervalul [x, y].
| Problema | StringQuery | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 128 MB
/
Stivă 32 MB
|
| Id soluție | #63746768 | Utilizator | |
| Fișier | stringquery.cpp | Dimensiune | 2.45 KB |
| Data încărcării | 17 Martie 2026, 15:47 | Scor/rezultat | Eroare de compilare |
stringquery.cpp: In function 'void build_aint()': stringquery.cpp:23:15: error: expected unqualified-id before '[' token auto& [node, l, r, phase]=stac.top(); ^ stringquery.cpp:23:15: error: expected initializer before '[' token stringquery.cpp:24:12: error: 'l' was not declared in this scope if(l==r){ ^ stringquery.cpp:24:15: error: 'r' was not declared in this scope if(l==r){ ^ stringquery.cpp:25:18: error: 'node' was not declared in this scope aint[node]=p[s[l]-'a']; ^ stringquery.cpp:28:17: error: 'phase' was not declared in this scope else if(phase==0){ ^ stringquery.cpp:31:24: error: 'node' was not declared in this scope stac.push({node+2*(mid-l+1), mid+1, r, 0}); ^ stringquery.cpp:31:54: error: no matching function for call to 'std::stack<build_aint()::frame>::push(<brace-enclosed initializer list>)' stac.push({node+2*(mid-l+1), mid+1, r, 0}); ^ stringquery.cpp:31:54: note: candidates are: In file included from /usr/include/c++/4.8/stack:61:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:88, from stringquery.cpp:1: /usr/include/c++/4.8/bits/stl_stack.h:186:7: note: void std::stack<_Tp, _Sequence>::push(const value_type&) [with _Tp = build_aint()::frame; _Sequence = std::deque<build_aint()::frame, std::allocator<build_aint()::frame> >; std::stack<_Tp, _Sequence>::value_type = build_aint()::frame] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_stack.h:186:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const build_aint()::frame&}' /usr/include/c++/4.8/bits/stl_stack.h:191:7: note: void std::stack<_Tp, _Sequence>::push(std::stack<_Tp, _Sequence>::value_type&&) [with _Tp = build_aint()::frame; _Sequence = std::deque<build_aint()::frame, std::allocator<build_aint()::frame> >; std::stack<_Tp, _Sequence>::value_type = build_aint()::frame] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_stack.h:191:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::stack<build_aint()::frame>::value_type&& {aka build_aint()::frame&&}' stringquery.cpp:32:42: error: no matching function for call to 'std::stack<build_aint()::frame>::push(<brace-enclosed initializer list>)' stac.push({node+1, l, mid, 0}); ^ stringquery.cpp:32:42: note: candidates are: In file included from /usr/include/c++/4.8/stack:61:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:88, from stringquery.cpp:1: /usr/include/c++/4.8/bits/stl_stack.h:186:7: note: void std::stack<_Tp, _Sequence>::push(const value_type&) [with _Tp = build_aint()::frame; _Sequence = std::deque<build_aint()::frame, std::allocator<build_aint()::frame> >; std::stack<_Tp, _Sequence>::value_type = build_aint()::frame] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_stack.h:186:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const build_aint()::frame&}' /usr/include/c++/4.8/bits/stl_stack.h:191:7: note: void std::stack<_Tp, _Sequence>::push(std::stack<_Tp, _Sequence>::value_type&&) [with _Tp = build_aint()::frame; _Sequence = std::deque<build_aint()::frame, std::allocator<build_aint()::frame> >; std::stack<_Tp, _Sequence>::value_type = build_aint()::frame] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_stack.h:191:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::stack<build_aint()::frame>::value_type&& {aka build_aint()::frame&&}' stringquery.cpp:36:18: error: 'node' was not declared in this scope aint[node]=aint[node+1] | aint[node+2*(mid-l+1)]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema StringQuery 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ă.