Data su tri štapa, označena brojevima , i . Na prvom se nalazi diskova različitih veličina, poređanih po veličini: disk veličine je na dnu, na njemu je disk veličine , i tako redom sve do diska veličine na samom vrhu. Preostala dva štapa su prazna.
Tvoj zadatak je da ceo toranj premestiš sa štapa na štap uz što manje premeštanja. Postoje dva pravila:
- jedno premeštanje uzima najgornji disk sa nekog štapa i stavlja ga na vrh drugog štapa;
- disk se nikada ne sme staviti na manji disk.
Napiši program koji ispisuje premeštanja.
Ulaz
U prvoj liniji ulaza je jedan ceo broj - broj test primera.
U svakoj od sledećih linija je po jedan ceo broj - broj diskova na prvom štapu.
Izlaz
Za svaki test primer ispiši po jednu liniju za svako premeštanje: redni broj štapa sa čijeg se vrha disk uzima i redni broj štapa na čiji se vrh stavlja, razdvojene jednim razmakom. Premeštanja test primera se nižu jedno za drugim, bez ičega između.
Primer
2 3 2
1 3 1 2 3 2 1 3 2 1 2 3 1 3 1 2 1 3 2 3
Prvih sedam linija rešava : najmanji disk ide na štap , srednji na štap , pa mu se najmanji pridružuje, čime se oslobađa najveći disk da pređe na štap - a dva diska koja čekaju na štapu ga prate u još tri poteza. Poslednje tri linije rešavaju .
Ograničenja
Zadatak je, uz dozvolu, preuzet iz zadatka Hanojske kule, čiji su autori Društvo matematičara Srbije i Fondacija Petlja.