Описание

Ограничение по времени: 500 ms
Ограничение по памяти: 256 Mb

Ответы на вопросы

Задача: Searching for Soulmates

Каждая из коров Фермера Джона хочет найти себе родственную душу. Каждая корова описывается целым числом \(p_i\) (\(1 \leq p_i \leq 10^{18}\)). Две коровы с одинаковыми \(p_i\) называются "родственными душами". Корова может изменить своё \(p_i\) посредством «операции изменения» умножением на \(2\), делением на \(2\) (если \(p_i\) чётное), или прибавлением \(1\).

ФД изначально объединил коровы в пары произвольным образом. А теперь хочет узнать, сколько операций он должен сделать, чтобы превратить каждую пару в "родственные души". Для каждой пары определите минимальное количество операций которое нужно сделать над первой коровой, чтобы сделать её "родственной душой" со второй коровой.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\) (\(1\le N\le 10\)), количество пар коров. Каждая из оставшихся \(N\) строк описывает пару коров как два целых числа - описывающих \(p_i\) этих коров. Первое число описывает персональность коровы \(p_i\), которая должна быть изменена, чтобы стать равной второму числу.

ФОРМАТ ВЫВОДА (на экран / stdout):

Напишите \(N\) строк в вывода. Для каждой пары выведите минимальное количество операций которое требуется, чтобы превратить первое число во второе с помощью описанных операций.


Прикрепите файл с исходным кодом программы:
     
или введите исходный код на языке:


Правила оформления программ и список ошибок при автоматической проверке задач
           

Ваш ответ:

Загруженные файлы:


Нет

Примечание учителя: