#1207
Maia tocmai a învăţat la şcoală să facă adunări cu numere naturale având mai multe cifre. Pentru că îi place foarte mult matematica s-a apucat să scrie pe o foaie multe numere naturale, cu una sau mai multe cifre, şi a început să le adune.
După o vreme s-a cam plictisit şi s-a gândit să afle cea mai mare sumă ce s-ar putea obţine dacă s-ar schimba între ele cifrele numerelor de pe foaie. Are însă o singură dorinţă: după ce schimbă cifrele între ele să rămână acelaşi număr de numere cu o cifră, acelaşi număr de numere cu două cifre şi aşa mai departe.
Cerinţe
Scrieţi un program care să determine
a) suma maximă ce se poate obţine schimbând între ele cifrele numerelor iniţiale;
b) un şir de numere pentru care se obţine suma maximă, respectând restricţiile din enunţ.
ONI GIM 2014, Clasa a VIII-a
| Problema | Cifre9 | Operații I/O |
cifre9.in/cifre9.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 1 MB
|
| Id soluție | #63800319 | Utilizator | |
| Fișier | cifre9.cpp | Dimensiune | 1.21 KB |
| Data încărcării | 19 Martie 2026, 11:44 | Scor/rezultat | Eroare de compilare |
cifre9.cpp: In function 'int main()': cifre9.cpp:40:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j = k; j < cifre.size(); j++) { ^ cifre9.cpp:42:45: error: no matching function for call to 'swap(char&, __gnu_cxx::__alloc_traits<std::allocator<int> >::value_type&)' swap(rez[i][0], cifre[j]); ^ cifre9.cpp:42:45: note: candidates are: In file included from /usr/include/c++/4.8/bits/stl_pair.h:59:0, from /usr/include/c++/4.8/bits/stl_algobase.h:64, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from cifre9.cpp:1: /usr/include/c++/4.8/bits/move.h:166:5: note: template<class _Tp> void std::swap(_Tp&, _Tp&) swap(_Tp& __a, _Tp& __b) ^ /usr/include/c++/4.8/bits/move.h:166:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: deduced conflicting types for parameter '_Tp' ('char' and '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}') swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/bits/stl_pair.h:59:0, from /usr/include/c++/4.8/bits/stl_algobase.h:64, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from cifre9.cpp:1: /usr/include/c++/4.8/bits/move.h:185:5: note: template<class _Tp, unsigned int _Nm> void std::swap(_Tp (&)[_Nm], _Tp (&)[_Nm]) swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) ^ /usr/include/c++/4.8/bits/move.h:185:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types '_Tp [_Nm]' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from cifre9.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:254:5: note: template<class _T1, class _T2> void std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&) swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ /usr/include/c++/4.8/bits/stl_pair.h:254:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::pair<_T1, _T2>' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/string:52:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from cifre9.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2717:5: note: template<class _CharT, class _Traits, class _Alloc> void std::swap(std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>&) swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2717:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/vector:64:0, from cifre9.cpp:2: /usr/include/c++/4.8/bits/stl_vector.h:1452:5: note: template<class _Tp, class _Alloc> void std::swap(std::vector<_Tp, _Alloc>&, std::vector<_Tp, _Alloc>&) swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) ^ /usr/include/c++/4.8/bits/stl_vector.h:1452:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::vector<_Tp, _Alloc>' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/vector:65:0, from cifre9.cpp:2: /usr/include/c++/4.8/bits/stl_bvector.h:112:3: note: void std::swap(std::_Bit_reference, std::_Bit_reference) swap(_Bit_reference __x, _Bit_reference __y) noexcept ^ /usr/include/c++/4.8/bits/stl_bvector.h:112:3: note: no known conversion for argument 1 from 'char' to 'std::_Bit_reference' /usr/include/c++/4.8/bits/stl_bvector.h:120:3: note: void std::swap(std::_Bit_reference, bool&) swap(_Bit_reference __x, bool& __y) noexcept ^ /usr/include/c++/4.8/bits/stl_bvector.h:120:3: note: no known conversion for argument 1 from 'char' to 'std::_Bit_reference' /usr/include/c++/4.8/bits/stl_bvector.h:128:3: note: void std::swap(bool&, std::_Bit_reference) swap(bool& __x, _Bit_reference __y) noexcept ^ /usr/include/c++/4.8/bits/stl_bvector.h:128:3: note: no known conversion for argument 1 from 'char' to 'bool&' In file included from /usr/include/c++/4.8/tuple:39:0, from /usr/include/c++/4.8/functional:55, from /usr/include/c++/4.8/bits/stl_algo.h:66, from /usr/include/c++/4.8/algorithm:62, from cifre9.cpp:3: /usr/include/c++/4.8/array:262:5: note: template<class _Tp, unsigned int _Nm> void std::swap(std::array<_Tp, _Nm>&, std::array<_Tp, _Nm>&) swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) ^ /usr/include/c++/4.8/array:262:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::array<_Tp, _Nm>' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/functional:55:0, from /usr/include/c++/4.8/bits/stl_algo.h:66, from /usr/include/c++/4.8/algorithm:62, from cifre9.cpp:3: /usr/include/c++/4.8/tuple:1050:5: note: template<class ... _Elements> void std::swap(std::tuple<_Elements ...>&, std::tuple<_Elements ...>&) swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) ^ /usr/include/c++/4.8/tuple:1050:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::tuple<_Elements ...>' and 'char' swap(rez[i][0], cifre[j]); ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:66:0, from /usr/include/c++/4.8/algorithm:62, from cifre9.cpp:3: /usr/include/c++/4.8/functional:2573:5: note: template<class _Res, class ... _Args> void std::swap(std::function<_Res(_ArgTypes ...)>&, std::function<_Res(_ArgTypes ...)>&) swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) ^ /usr/include/c++/4.8/functional:2573:5: note: template argument deduction/substitution failed: cifre9.cpp:42:45: note: mismatched types 'std::function<_Res(_ArgTypes ...)>' and 'char' swap(rez[i][0], cifre[j]); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cifre9 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ă.