Masala #0151

Xotira 16 MB Vaqt 1000 ms Qiyinchiligi 20 %
14

  

Hanoy minorasi

https://upload.wikimedia.org/wikipedia/commons/0/07/Tower_of_Hanoi.jpeg

Hanoy minorasi o’yinini ko’pchilik bilsa kerak, shunga qaramasdan yana bir bora eslatib o’tamiz.

Hanoy minorasi 3 ta ustundan iborat, birinchi ustunni A deb, ikkinchi ustunni B deb, uchinchi ustunni esa C deb belgilab olaylik. Sizda N ta disk bor, disklarning har birini diametrlari mos ravishda 1 dan N gacha uzunlikka ega, Hanoy minorasi o’yinida qaysidir diskni ustidan boshqa disk qo’yilmoqchi bo’lsa pastga qolgan diskning diametric yuqoridagi diskning diametridan katta bo’lishi shart. Dastlab barcha disk A ustunda joylashtirilgan. Disklar qaysidir ustundan olinsa boshqa bir ustunga qo’yilishi shart va disklar olinganda bittalab olinadi.

Siz A ustunda turgan barcha diskni “X to K” shaklidagi buyruqlar ketma-ketligi shaklida C ustunga olib o’tishingiz kerak, bu yerda X diskning diametri, K esa ustun nomi.


Kiruvchi ma'lumotlar:

INPUT.TXT kirish faylida yagona butun son, N(0 < N < 20)


Chiquvchi ma'lumotlar:

OUTPUT.TXT chiqish faylida A ustundagi barcha diskni C ustunga olib o’tuvchi buyruqlar ketma-ketligini alohida qatorlarda chop eting.


Misollar
# input.txt output.txt
1
1
1 to C
2
2
1 to B
2 to C
1 to C
Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin