#2527
hanoi
Turnurile din Hanoi este un joc matematic sau, dacă vreți, un puzzle. Este format din trei tije A
, B
și C
și un număr variabil de discuri, de diferite diametre. Inițial discurile sunt așezate în ordine descrescătoare a diametrelor pe tija A
, de la vârf către bază, astfel încât să formeze un turn.
Scopul jocului este acela de a muta toate discurile de pe tija A
pe tija C
folosind ca tijă intermediară tija B
, respectând următoarele reguli:
Cerința
Dacă se cunoaște numărul n
de discuri aflate pe tija A
, să se determine șirul mutărilor necesare pentru ca toate discurile să fie mutate pe tija C
.
Problema | hanoi | Operații I/O |
![]() hanoi.in /hanoi.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57964243 | Utilizator | |
Fișier | hanoi.cpp | Dimensiune | 512 B |
Data încărcării | 05 Mai 2025, 17:45 | Scor / rezultat | Eroare de compilare |
hanoi.cpp:2:20: warning: extra tokens at end of #include directive [enabled by default] #include <fstream> using namespace std; ^ hanoi.cpp:3:1: error: 'ifstream' does not name a type ifstream fin("hanoi.in"); ^ hanoi.cpp:4:1: error: 'ofstream' does not name a type ofstream fout("hanoi.out"); ^ hanoi.cpp: In function 'void hanoi(int, char, char, char)': hanoi.cpp:10:9: error: 'fout' was not declared in this scope fout << a << "->" << c << '\n'; ^ hanoi.cpp: In function 'int main()': hanoi.cpp:17:5: error: 'fin' was not declared in this scope fin >> n; ^ hanoi.cpp:21:5: error: 'fout' was not declared in this scope fout << put-1 << endl; ^ hanoi.cpp:21:22: error: 'endl' was not declared in this scope fout << put-1 << endl; ^ hanoi.cpp:21:22: note: suggested alternative: In file included from /usr/include/c++/4.8/iostream:39:0, from hanoi.cpp:1: /usr/include/c++/4.8/ostream:564:5: note: 'std::endl' endl(basic_ostream<_CharT, _Traits>& __os) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema hanoi 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ă.