#4242
Graniţa nu se trece uşor. Asta pentru că Balaurul Arhirel (mare pasionat de informatică) nu lasă pe nimeni să treacă decât după ce răspunde la nişte întrebări. În acea ţară există trei tipuri de perle normale (le vom nota cu 1, 2 şi 3) şi trei tipuri de perle magice (le vom nota cu A, B şi C). Perlele magice sunt deosebite prin faptul că se pot transforma în alte perle (una sau mai multe, normale sau magice). Să se determine pentru fiecare şir de intrare dacă se poate obţine prin transformările de mai sus sau nu (alegând orice primă perlă magică, la fiecare şir).
| Problema | perle | Operații I/O |
perle.in/perle.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #63163054 | Utilizator | |
| Fișier | perle.cpp | Dimensiune | 2.27 KB |
| Data încărcării | 18 Februarie 2026, 11:43 | Scor/rezultat | Eroare de compilare |
perle.cpp: In function 'bool dfs(const std::vector<int>&, int, const string&, std::map<std::pair<int, std::basic_string<char> >, bool>&)': perle.cpp:15:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (pos > seq.size()) return false; // depășim lungimea ^ perle.cpp:16:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (pos == seq.size()) return pearl == ""; // am terminat exact șirul ^ perle.cpp:23:29: error: no match for 'operator[]' (operand types are 'std::unordered_map<char, std::vector<std::vector<std::basic_string<char> > > >' and 'const string {aka const std::basic_string<char>}') for (auto &trans : magic[pearl]) { ^ perle.cpp:23:29: note: candidates are: In file included from /usr/include/c++/4.8/unordered_map:48:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:115, from perle.cpp:1: /usr/include/c++/4.8/bits/unordered_map.h:595:7: note: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type& std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type&) [with _Key = char; _Tp = std::vector<std::vector<std::basic_string<char> > >; _Hash = std::hash<char>; _Pred = std::equal_to<char>; _Alloc = std::allocator<std::pair<const char, std::vector<std::vector<std::basic_string<char> > > > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type = std::vector<std::vector<std::basic_string<char> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type = char] operator[](const key_type& __k) ^ /usr/include/c++/4.8/bits/unordered_map.h:595:7: note: no known conversion for argument 1 from 'const string {aka const std::basic_string<char>}' to 'const key_type& {aka const char&}' /usr/include/c++/4.8/bits/unordered_map.h:599:7: note: std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type& std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type&&) [with _Key = char; _Tp = std::vector<std::vector<std::basic_string<char> > >; _Hash = std::hash<char>; _Pred = std::equal_to<char>; _Alloc = std::allocator<std::pair<const char, std::vector<std::vector<std::basic_string<char> > > > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type = std::vector<std::vector<std::basic_string<char> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type = char] operator[](key_type&& __k) ^ /usr/include/c++/4.8/bits/unordered_map.h:599:7: note: no known conversion for argument 1 from 'const string {aka const std::basic_string<char>}' to 'std::unordered_map<char, std::vector<std::vector<std::basic_string<char> > > >::key_type&& {aka char&&}' perle.cpp:28:24: error: unable to deduce 'auto&&' from 'trans' for (auto &x : trans) { ^ perle.cpp:33:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (i >= seq.size() || seq[i] != val) { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema perle 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ă.