Одне перекладування Ханойських веж#6623

Одне перекладування Ханойських веж

1 секунда
64 мегабайти
Дуже легка

Вам дано класичне завдання про Ханойські вежі:

Є три стержні та круглих дисків різного розміру ( — найменший диск, — найбільший). Усі диски спочатку знаходяться на стержні , мета — перемістити всю вежу на стержень . За один крок можна перемістити лише один верхній диск з одного стержня на інший, при цьому не можна класти більший диск на менший. Стержні мають назви , та .

Добре відоме рекурсивне розв'язання цієї задачі виглядає так:

move(num_disks, from_post, spare_post, to_post)
    if (num_disks == 0)
        return
    move(num_disks--1, from_post, to_post, spare_post)
    print("Move disk ", num_disks, " from ", from_post, " to ", to_post)
    move(num_disks--1, spare_post, from_post, to_post)

За заданими і визначте -ий хід, здійснений цим рекурсивним алгоритмом.

Вхідні дані

Кожен рядок вхідних даних містить два цілих числа та . Вхідні дані завершуються рядком із двох нулів. Усі вхідні дані коректні. та — додатні цілі числа, k < 2^n, n \leq 60.

Вихідні дані

Для кожного випадку виведіть -ий хід у такому форматі:

Case :

де — номер тесту (починаючи з 1), — номер диска, — назва стержня, з якого рухається диск, а — назва стержня, куди рухається диск. Використовуйте один пробіл для відокремлення частин; не виводьте пробіли в кінці рядка.

Приклади

Приклад 1

Loading
Loading