问题 6681 --龙哥的异或序列

6681: 龙哥的异或序列★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 34  解决: 13
[提交][状态][命题人:]

题目描述

给定两个不同的非负整数x和y。考虑两个无穷序列 a1,a2,a3,…和 b1,b2,b3,…,其中:
an=n⊕x;
bn=n⊕y.
其中“⊕”表示位运算异或操作。
例如,x=6 之后,则序列a的前8 个元素将如下所示:[7,4,5,2,3,0,1,14,…]
现在龙哥请你帮忙找出序列a和b的最长公共子序列的长度。换句话说,找出最大整数m,使a[i]=b[j],a[i+1]=b[j+1],…,a[i+m−1]=b[j+m−1],其中i,j≥1.

输入

第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试数据包含2个整数x与y (0≤x,y≤1e9,x≠y)。

输出

每组测试样例输出一个整数m,表示最长公共子序列的长度。
样例输入
Copy
4
0 1
12 4
57 37
316560849 14570961
样例输出
Copy
1
8
4
33554432

提示

来源

 

[提交][状态]