社区讨论

求外站题目

灌水区参与者 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 的值。这六个按键的功能分别如下:
  1. 将 a 变为 a×2 ;
  2. 将 a 变为 a×4 ;
  3. 将 a 变为 a×8 ;
  4. 将 a 变为 a/2 ,前提是 a 为 2 的倍数;
  5. 将 a 变为 a/4 ,前提是 a 为 4 的倍数;
  6. 将 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 条回复,欢迎继续交流。

正在加载回复...