307480: CF1362A. Johnny and Ancient Computer
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Johnny and Ancient Computer
题意翻译
给定 $a,b$。你可以把 $a$ 的值设为以下几种之一: - $a\cdot2$ - $a\cdot4$ - $a\cdot8$ - $a \div 2$(如果它被 $2$ 整除) - $a \div 4$(如果它被 $4$ 整除) - $a \div 8$(如果它被 $8$ 整除) 你需要求出至少需要几次操作才能把 $a$ 变成 $b$。如果无解,输出 `-1`,表示这是不可能的。 多组数据,数据组数 $t \leq 1000$,$1 \leq a,b\leq 10^{18}$ 翻译 by Meatherm题目描述
Johnny has recently found an ancient, broken computer. The machine has only one register, which allows one to put in there one variable. Then in one operation, you can shift its bits left or right by at most three positions. The right shift is forbidden if it cuts off some ones. So, in fact, in one operation, you can multiply or divide your number by $ 2 $ , $ 4 $ or $ 8 $ , and division is only allowed if the number is divisible by the chosen divisor. Formally, if the register contains a positive integer $ x $ , in one operation it can be replaced by one of the following: - $ x \cdot 2 $ - $ x \cdot 4 $ - $ x \cdot 8 $ - $ x / 2 $ , if $ x $ is divisible by $ 2 $ - $ x / 4 $ , if $ x $ is divisible by $ 4 $ - $ x / 8 $ , if $ x $ is divisible by $ 8 $ For example, if $ x = 6 $ , in one operation it can be replaced by $ 12 $ , $ 24 $ , $ 48 $ or $ 3 $ . Value $ 6 $ isn't divisible by $ 4 $ or $ 8 $ , so there're only four variants of replacement. Now Johnny wonders how many operations he needs to perform if he puts $ a $ in the register and wants to get $ b $ at the end.输入输出格式
输入格式
The input consists of multiple test cases. The first line contains an integer $ t $ ( $ 1 \leq t \leq 1000 $ ) — the number of test cases. The following $ t $ lines contain a description of test cases. The first and only line in each test case contains integers $ a $ and $ b $ ( $ 1 \leq a, b \leq 10^{18} $ ) — the initial and target value of the variable, respectively.
输出格式
Output $ t $ lines, each line should contain one integer denoting the minimum number of operations Johnny needs to perform. If Johnny cannot get $ b $ at the end, then write $ -1 $ .
输入输出样例
输入样例 #1
10
10 5
11 44
17 21
1 1
96 3
2 128
1001 1100611139403776
1000000000000000000 1000000000000000000
7 1
10 8
输出样例 #1
1
1
-1
0
2
2
14
0
-1
-1