数字转换
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
问题描述
现有两个数字 和 ,每轮你可以对 从以下二种操作任选一种执行:
- 对 的二进制(可以视作有任意个前导 )进行任意的洗牌,得到新的数字 。
- 将 改为 。
现在问你,要让 变为 ,至少需要进行多少轮这样的操作。如果无法通过这样的操作让 变为 ,则输出 -1
。
输入格式
第一行输入一个整数 ,表示测试用例的数量。
每个测试用例包含一行,包含两个空格分隔的整数 和 。
输出格式
对于每个测试用例,输出一个整数,表示最少的操作次数。如果无法让 变为 ,则输出 。
样例输入
4
2 4
1 5
5 1
1 6
样例输出
1
2
3
3
说明
对于样例 ,进行一次重排操作即可。
对于样例 ,重排之后进行加 即可。
对于样例 ,将 的二进制重排为 011
后加 再重排即可。
对于样例 ,将 重排后加 再次进行重排即可。