#1458. 异或与加减
异或与加减
题目描述
给定两个非负整数 和 。在一次操作中,你可以将 的值减 ,同时将 的值加 。如果 ,则无法执行此操作。
你可以对初始的数字执行任意次(包括 次)操作。你的首要目标是使得 (即 和 的按位异或值)尽可能大。在所有能够获得最大异或值的操作方案中,你需要找出操作次数最少的方案。
请输出 可能达到的最大值,以及达到该值所需的最少操作次数。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
接下来的 行,每行包含两个非负整数 和 ()—— 分别表示每个测试用例的初始数值。
输出格式
对于每个测试用例,输出一行两个整数,分别表示 可能达到的最大值,以及达到该值所需的最少操作次数。两个整数之间用一个空格隔开。
样例输入 1
3
3 1
0 5
6 4
样例输出 1
4 3
5 0
10 4
说明
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 。
- 保证所有的输入数值均为整数。