Двоичное дерево размером n составляется из ствола длиной 2n. От ствола растут две ветви длиной 2n-1 каждая. На конце каждой такой ветви растут меньшие две веточки длиной 2n-2. И так далее. Длина наименьших веточек составляет 20. На конце каждой наименьшей веточки растет листочек. Листочки пронумерованы числами от 1 до 2n таким образом, который номера всех листочков отличаются и номера листочков любой ветви дерева идут подряд без промежутков. На листочке и сидит гусеница. Ей
Не понравился вкус этого листочка и она хочет переползти на листочек с номером j. Какой наименьший путь должен одолеть гусеница по ветвям двоичного дерева, чтобы достичь листочка j?
Началу данные:
В первой строке входного потока содержатся три числа: n, и и j разделенные пропусками
1<=n<=30, 1<=i, j<=2n.
Результат:
В первую строку исходного потока вывести одно число – длину пути от листочка и к j.
Пример начальных данных:
Данные, что быть в ответе рисунку приведенному выше:
3 2 4
Пример результата:
Результат, который быть в ответе данным приведенным выше:
Добавлено (19.11.2007, 21:02)
---------------------------------------------
[img]C:\Documents and Settings\1\Рабочий стол\Музон\01.gif[/img]