社区讨论
求外站题目
灌水区参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lzmfh7c0
- 此快照首次捕获于
- 2024/08/09 16:11 2 年前
- 此快照最后确认于
- 2024/08/09 16:52 2 年前
游戏
1 分
1000 ms
64 MB
斯坦星球5月月赛
你在电脑上玩数字小游戏。
在游戏中,你得到了一个正整数 a。
屏幕上有六个按键,您可以通过点击它们来改变 a 的值。这六个按键的功能分别如下:
-
将 a 变为 a×2 ;
-
将 a 变为 a×4 ;
-
将 a 变为 a×8 ;
-
将 a 变为 a/2 ,前提是 a 为 2 的倍数;
-
将 a 变为 a/4 ,前提是 a 为 4 的倍数;
-
将 a 变为 a/8 ,前提是 a 为 8 的倍数。
你想知道,你能否通过按这些键来把 a 的值变成 b。
如果可以,那么请回答把 a 的值换算 b 需要的最小按键次数;
如果不可以,那么代表游戏有问题,此时回答 -1 即可。
请注意:电脑一共问了你 t 个问题,你需要一一回答。
输入
第一行,一个正整数 t,代表问题的总数。
接下来 t 行,每行都有两个正整数 a,b,代表每个问题的参数。
输出
对于每个问题:
如果可以由 a 变成 b,你需要输出一行一个数,代表最少按键次数;
否则,输出一行一个 -1。
样例
样例 1 输入
4
1 2
1 5
2 16
48 3
样例 1 输出
1
-1
1
2
提示
对于前 20%
的数据,保证 1≤a,b≤15
。
对于前 35%
的数据,保证 1≤a,b≤1000
。
对于前 50%
的数据,保证 1≤a,b≤106
,1≤t≤100
。
对于另外 10%
的数据,保证 a=b
。
回复
共 3 条回复,欢迎继续交流。
正在加载回复...