#2527
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 | #62201883 | Utilizator | |
| Fișier | hanoi.cpp | Dimensiune | 549 B |
| Data încărcării | 13 Ianuarie 2026, 14:15 | Scor/rezultat | Eroare de compilare |
hanoi.cpp:5:1: error: stray '\342' in program { if (n == 1) { fprintf(out, “%c->%c\n”, sursa, dest); return; ^ hanoi.cpp:5:1: error: stray '\200' in program hanoi.cpp:5:1: error: stray '\234' in program hanoi.cpp:5:1: error: stray '\' in program hanoi.cpp:5:1: error: stray '\342' in program hanoi.cpp:5:1: error: stray '\200' in program hanoi.cpp:5:1: error: stray '\235' in program hanoi.cpp:8:1: error: stray '\342' in program hanoi(out, n – 1, sursa, aux, dest); hanoi(out, 1, sursa, dest, aux); hanoi(out, n – 1, aux, dest, sursa); } ^ hanoi.cpp:8:1: error: stray '\200' in program hanoi.cpp:8:1: error: stray '\223' in program hanoi.cpp:8:1: error: stray '\342' in program hanoi.cpp:8:1: error: stray '\200' in program hanoi.cpp:8:1: error: stray '\223' in program hanoi.cpp:10:1: error: stray '\342' in program { FILE *in, *out; in = fopen(“hanoi.in”, “r”); ^ hanoi.cpp:10:1: error: stray '\200' in program hanoi.cpp:10:1: error: stray '\234' in program hanoi.cpp:10:1: error: stray '\342' in program hanoi.cpp:10:1: error: stray '\200' in program hanoi.cpp:10:1: error: stray '\235' in program hanoi.cpp:10:1: error: stray '\342' in program hanoi.cpp:10:1: error: stray '\200' in program hanoi.cpp:10:1: error: stray '\234' in program hanoi.cpp:10:1: error: stray '\342' in program hanoi.cpp:10:1: error: stray '\200' in program hanoi.cpp:10:1: error: stray '\235' in program hanoi.cpp:13:1: error: stray '\342' in program fscanf(in, “%d”, &n); fclose(in); out = fopen(“hanoi.out”, “w”); fprintf(out, “%d\n”, (1 << n) – 1); hanoi(out, n, ‘A’, ‘C’, ‘B’); fclose(out); return 0; } ^ hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\234' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\235' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\234' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\235' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\234' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\235' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\234' in program hanoi.cpp:13:1: error: stray '\' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\235' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\223' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\230' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\231' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\230' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\231' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\230' in program hanoi.cpp:13:1: error: stray '\342' in program hanoi.cpp:13:1: error: stray '\200' in program hanoi.cpp:13:1: error: stray '\231' in program hanoi.cpp: In function 'void hanoi(FILE*, int, char, char, char)': hanoi.cpp:5:33: error: expected primary-expression before '%' token { if (n == 1) { fprintf(out, “%c->%c\n”, sursa, dest); return; ^ hanoi.cpp:5:34: error: 'c' was not declared in this scope { if (n == 1) { fprintf(out, “%c->%c\n”, sursa, dest); return; ^ hanoi.cpp:5:37: error: expected unqualified-id before '%' token { if (n == 1) { fprintf(out, “%c->%c\n”, sursa, dest); return; ^ hanoi.cpp:8:18: error: expected ')' before numeric constant hanoi(out, n – 1, sursa, aux, dest); hanoi(out, 1, sursa, dest, aux); hanoi(out, n – 1, aux, dest, sursa); } ^ hanoi.cpp:8:90: error: expected ')' before numeric constant hanoi(out, n – 1, sursa, aux, dest); hanoi(out, 1, sursa, dest, aux); hanoi(out, n – 1, aux, dest, sursa); } ^ hanoi.cpp:10:1: error: a function-definition is not allowed here before '{' token { FILE *in, *out; in = fopen(“hanoi.in”, “r”); ^ hanoi.cpp:13:185: error: expected '}' at end of input fscanf(in, “%d”, &n); fclose(in); out = fopen(“hanoi.out”, “w”); fprintf(out, “%d\n”, (1 << n) – 1); hanoi(out, n, ‘A’, ‘C’, ‘B’); fclose(out); return 0; } ^
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ă.