Вам дано класичне завдання про Ханойські вежі:
Є три стержні та круглих дисків різного розміру ( — найменший диск, — найбільший). Усі диски спочатку знаходяться на стержні , мета — перемістити всю вежу на стержень . За один крок можна перемістити лише один верхній диск з одного стержня на інший, при цьому не можна класти більший диск на менший. Стержні мають назви , та .
Добре відоме рекурсивне розв'язання цієї задачі виглядає так:
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