ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
hanoig
Timp maxim de executie/test:
0.1
secunde
Memorie totala disponibila/stiva:
16
MB/1 MB
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 vârf
(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 B , respectând 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 si precizari
0 < k <= 1000
0 < mi <=
1000 , pentru orice
i=1, 2, ..., k
Discurile nu sunt numerotate,
prin urmare discurile având aceeasi dimensiune sunt considerate identice.
Exemplu
hanoig.in
hanoig.out
2
2 3
8
prof. Emanuela
Cerchez
Liceul de Informatica
"Grigore Moisil " Iasi
Contact:emanuela.cerchez@gmail.com
Articole recomandate
De acelaşi autor : Hashing , Suffix arrays , Arbori de compresie Huffman , Gomory-Hu Cut Trees , Determinarea clicilor , Reprezentarea mulţimilor disjuncte , Heap-uri Despre combinatorică : Numere Catalan, numere Narayana , Partitionarea unui numar , Permutări , Introducere in combinatorica , Puncte laticeale
Probleme recomandate
De la .campion 2006 : scara , programs , nr , iepuras2 , numere3 , robot2 , fry , suma , sah , formule , perm , cifra , repeat , ture , xor , policefm , unu , criptare , ed , bilete , vector , scor , ratb , infinit , race , dragon , kreg , placi , red , 2sec , flood , sume3 , balls , festival , croco , johnie , matrice3 , pavaj , sume , arthur , kimberley , kafka , vocale , pento , prop , ro , sol , bacan , erdos , poligon , reduceri , druid , novel , gramezi , nrbinar , laser , spair , caravane , cuburi , grup , invest , cd , friends2 , mese , toys De acelaşi autor : celule , scp , vedete , film , ab , supertri , inginer , camp , sl , detinut , simetric , egal , gropi , ruleta , carti , tgv , uscat , afise , dezbateri , bunici , rv , onu , nspecial , secvop , cadou , chimie , reteta , piticot , petrol , checkin , teanc , index , teren , pizza , ecran , drum , text , lbd , aven , spam , pluricex , tren2 , gray , pasi , mgo , joc , anagrame , vecini , criptmat , maxim , cutie , party , friends , net , sablon , hd , pc , sir2 , aztec , scara , nr , robot2 , sah , formule , ed , bilete , flood , matrice3 , erdos , grup , cd , kfactor , np , cuc , radio , honest , ref , nr01 , scor2 , convert , auto2 , compress , politics , pm , playlist , barbie , firma1 , submatrix , ham , pizza1 , exam , ants , teatru1 , cifre1 , bile1 , caini , secvreg , pasune , remi , m01 , sir23 , tren1 , joc5 , pachete , aedaro , windows , renju , latime , mere1 , piloti , peste , pitici , sirag1 , stive , turn1 , carti1 , program1 , spioni , kgb , lift , apel , lex , oras , homeless , subsir , dist , harta1 , adevar , joc10 , bare , zapezi , masina2 , perechi1 , raft , joc11 , joc12 , ferma , fni , tunel , lover , pepsi , transport , avion , monkey , premii1 , garaj , carti2 , tv , pact , fat , cafea , echipe1 , secvente , petrom , peg , scara1 , lant , ecuatii , stiva , bile4 , jungla , rj , poli , text1 , compus1 , rez , politie , anag , codul , coment , muzeu , seti , basm , timer , secvsir , dp , placa , prod3 , bursa , submdisj , sotron1 , fazan , secvpar , joker , lego , medalii , cfr , antipatie , figura , links , segm , colorare , brazi , mobil , distsir , guess , greiere , pestera , conferinta , chei , ny , nx , ghinion , sumb , drenaj , telecomanda , grupuri , mahjong , rotund , viena , sport2 , cos , monoton , micro , valet , nr0 , maxviz , anagramabil , nrpal , lista , dame , consiliu , adprod , arme , deal , prodnr , compar , latin , interviu , vintage , prize , nrdiv , arrows , tdrept , agenda , reziston , vot2 , tema , smiley , relatii , ech , scadere , nebuni , castig , expand , wb , prime2 , virgule , b210 Despre combinatorică : manevre , carti , bonuri , test , cub , nspecial , circuit , numere , cs , pluricex , parent , gray , siruri , anagrame , party , net , scaune , sir , monede , aztec , nrcuv2 , perm , race , red , grup , hperm , depou , grazing , pm , reteta2 , playlist , young , pizza1 , albine , caramele , teatru1 , tub , robot1 , sir23 , soldati1 , concurs1 , comb , expresii , arbnr , cod1 , munte , shgraf , desc , lex , munte1 , maxperm , role , avere , vizibil , prime1 , hexa , patrat , carti2 , puncte2 , pact , aranjari , numere5 , borg , acolor , sg1 , perfect , cifru2 , bile4 , pviz , culmi1 , piramida1 , trapez , frunze , sir7 , logic , coduri , jetoane , kperms , tablite , secvpar , lego , permutari , binperm , multiplu1 , operatii , fotbal , kbiti , jucarii , bradut , expozitie , parbit , kmax , petrecere , tango , rege , cd1 , cifru3 , kcons , bubblesort , hawaii , randomizare , kdist , reuniune , echipa , ghinion , cavaleri , camera616 , covor , subm , grupuri , pavari , asfalt , adunscad , rotund , sport2 , arbore1 , lant1 , module , nrperm , oneton , nrpomi , cover1 , nrpal , probleme , optim , poly , vot1 , sudoku1 , flori2 , xnumere , showroom , cntgcd , subsets , nkd , nrgraf , spion1 , puteri , stiva1 , permtr , relatii , 2sah , matcnt , magic7 , nmult , roua Despre numere mari : fib , 2sir , test , sort , gray , siruri , vecini , div , sir2 , nrcuv2 , scor , red , matrice3 , pavaj , depou , pm , sqr , set , albine , teatru1 , descfib , tub , m01 , soldati1 , euclid , mutare , munte1 , bifo , banda10 , sg1 , cutii , zumzi , numere7 , trapez , patrate6 , muguri , impozit , kbiti , m4 , numar3 , parbit , petrecere , randomizare , radical , ghinion , aliniere , sumb , cavaleri , camera616 , numar4 , pavari , asfalt , rotund , cos , risipa , xpn , dale , codpatrat , culori1 , plus , minm , pomi , cifrab , subsets , doitrei , conjectura , ech , inventie
Software recomandat