Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-04-29 12:19:36.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:hanoig.in, hanoig.outSursăCampion 2006-2007
AutorEmanuela CerchezAdăugată dedevilkindSavin Tiberiu devilkind
Timp execuţie pe test0.05 secLimită de memorie5120 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Hanoig

Sa consideram 3 tije (notate A, B, C). Pe tija A se afla n discuri de k dimensiuni distincte d1>$d2>...>$dk.
Mai exact, exista m1 discuri de diametru d1, m2 discuri de diametru d2, ..., mk discuri de diametru $dk.
Evident, m1 + m2 + ... + mk=$n$.
Discurile sunt asezate initial pe tija A �®n ordinea descrescatoare a dimensiunilor, privind de la baza spre varf (deci la baza sunt cele m1 discuri de diametru d1, apoi urmeaza cele m2 discuri de diametru d2, ...).
La o mutare se poate deplasa un singur disc de pe o tija pe alta, dar niciodata nu va fi plasat un disc de diamentru mai mare peste un disc cu diametru mai mic.
Scopul este de a muta toate discurile de pe tija A pe tija 4B$, respectand permanent ordinea descrescatoare a dimensiunilor.
Tija C poate fi folosita ca tija de manevra.

Cerinta

Scrieti un program care sa determine numarul minim de mutari care trebuie sa fie executate pentru a deplasa cele n discuri de pe tija A pe tija B.

Date de intrare

Fisierul de intrare hanoig.in contine pe prima linie numarul natural k, cu semnificatia din enunt. Pe cea de a doua linie se afla k numere naturale separate prin c�¢te un spatiu m1 m2 ... mk.

Date de iesire

Fisierul de iesire hanoig.out va contine o singura linie pe care va fi scris numarul minim de mutari care trebuie sa fie executate pentru a deplasa cele n=$m1$m2...+$mk discuri de pe tija A pe tija B.

Restrictii

  • 0 < k <= 1000
  • 0 < mi <= 1000, pentru orice i=$1$, 2, ..., k
  • Discurile nu sunt numerotate, prin urmare discurile avand aceeasi dimensiune sunt considerate identice.

Exemplu

hanoig.inhanoig.out
2
2 3
8
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?