#1061
Costel a descoperit într-o debara servieta cu cifru a tatălui său. Cifrul este compus din 4 discuri metalice pe care sunt inscripţionate cifrele de la 0 la 9. Fiecare disc se poate mişca individual, de sus în jos sau de jos în sus, formându-se combinaţii de cifre. De multe ori, datorită comodităţii, combinaţia ce permite deschiderea servietei este formată numai din cifre identice: 0000, 1111 etc.
Costel îşi imaginează un cifru compus din N discuri metalice, fiecare având inscripţionate cifrele de la 0 la 9, fiecare putând fi deplasat în cele două direcţii specificate anterior. Prin mutare Costel înţelege deplasarea unui disc în sus sau în jos, cu o singură poziţie, adică deplasarea discului până la cifra precedentă, respectiv următoare celei curente.
Realizaţi un program care, cunoscând poziţia iniţială a fiecărui disc dintre cele N discuri ale cifrului, determină şi afişează:
a) cifra cea mai mare care apare pe discurile cifrului în forma iniţială;
b)
b1) numărul minim de mutări necesare pentru ca numărul obţinut pe cifru să fie compus numai din cifre identice, număr necesar deschiderii servietei;
b2) cifra cea mai mică ce se poate obţine în urma efectuării numărului minim de mutări determinat;
b3) numărul de combinaţii formate din cifre identice, care se poate obţine în urma efectuării numărului minim de mutări determinat.
OJI 2012, Clasa a VI-a
| Problema | Cifru1 | Operații I/O |
cifru1.in/cifru1.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
| Id soluție | #60424096 | Utilizator | |
| Fișier | cifru1.cpp | Dimensiune | 979 B |
| Data încărcării | 01 Noiembrie 2025, 12:01 | Scor/rezultat | Eroare de compilare |
cifru1.cpp: In function 'int main()': cifru1.cpp:37:14: error: no match for 'operator<<' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int') cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ cifru1.cpp:37:14: note: candidates are: 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/istream:38, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2753:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) operator<<(basic_ostream<_CharT, _Traits>& __os, ^ /usr/include/c++/4.8/bits/basic_string.h:2753:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:471:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) ^ /usr/include/c++/4.8/ostream:471:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:476:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) ^ /usr/include/c++/4.8/ostream:476:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:482:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) operator<<(basic_ostream<char, _Traits>& __out, char __c) ^ /usr/include/c++/4.8/ostream:482:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:488:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) operator<<(basic_ostream<char, _Traits>& __out, signed char __c) ^ /usr/include/c++/4.8/ostream:488:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:493:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) ^ /usr/include/c++/4.8/ostream:493:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:513:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) ^ /usr/include/c++/4.8/ostream:513:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/ostream:612:0, from /usr/include/c++/4.8/istream:39, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/bits/ostream.tcc:321:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) ^ /usr/include/c++/4.8/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:530:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) operator<<(basic_ostream<char, _Traits>& __out, const char* __s) ^ /usr/include/c++/4.8/ostream:530:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:543:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) ^ /usr/include/c++/4.8/ostream:543:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:548:5: note: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) ^ /usr/include/c++/4.8/ostream:548:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<char, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^ In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/fstream:38, from cifru1.cpp:1: /usr/include/c++/4.8/ostream:602:5: note: template<class _CharT, class _Traits, class _Tp> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x) ^ /usr/include/c++/4.8/ostream:602:5: note: template argument deduction/substitution failed: cifru1.cpp:37:17: note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' cout << maxnr << endl <<minpasi << endl << mincif << endl << cnt; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cifru1 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ă.