#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 | #12438390 | Utilizator | |
Fișier | hanoi.cpp | Dimensiune | 819 B |
Data încărcării | 30 Noiembrie 2018, 10:37 | Scor / rezultat | Eroare de compilare |
hanoi.cpp: In function 'char getSparePeg(char, char)': hanoi.cpp:7:82: error: expected ')' before 'return' else if ((fromPeg == 'B' || toPeg == 'B') && (toPeg =='C' || fromPeg =='C') return 'A'; ^ hanoi.cpp:8:85: error: expected ')' before 'return' else if ((fromPeg == 'A' || toPeg == 'A') && (toPeg == 'C' || fromPeg == 'C') return 'B'; ^ hanoi.cpp: In function 'void solveHanoi(int, char, char)': hanoi.cpp:14:30: error: 'sparePeg' was not declared in this scope solveHanoi(n-1, fromPeg, sparePeg); ^ hanoi.cpp:17:5: error: 'm' was not declared in this scope m++; ^ hanoi.cpp: In function 'int main()': hanoi.cpp:25:12: error: 'n' was not declared in this scope cin >> n; ^ hanoi.cpp:21:9: warning: unused variable 'm' [-Wunused-variable] int m = 0; ^ hanoi.cpp: In function 'char getSparePeg(char, char)': hanoi.cpp:9:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ hanoi.cpp: In function 'int main()': hanoi.cpp:22:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("hanoi.in", "r", stdin); ^ hanoi.cpp:23:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("hanoi.out", "w", stdout); ^
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ă.