/ WHOJ / 题库 /

最小不包含

最小不包含

题目描述

爱丽丝给鲍勃两个整数 aaba>0b(a>0b0)b≥0). 作为一个好奇的孩子,鲍勃写下了一个非负整数数组(无重复),所有元素的 MEX\text{MEX} 值等于 aa,所有元素的 XOR\text{XOR} 值等于 bb

请编程求出鲍勃编写的数组的最短长度是多少?

回想一下,数组的 MEX(Minimum EXcluded)\text{MEX}(\text{Minimum~EXcluded}) 是不属于该数组的最小非负整数,而数组的 XOR\text{XOR} 是该数组所有元素的按位异或。

格式

输入格式

输入由多组数据。第一行包含一个整数 t1t104t(1≤t≤10^4),表示数据组数。每组数据描述如下:

每个测试用例一行,包含两个整数 aab1a3×1050b3×105b(1≤a≤3×10^5;0≤b≤3×10^5)分别数组的 MEX\text{MEX}XOR\text{XOR}

输出格式

对于每组数据,输出一个(正)整数,表示满足 MEX\text{MEX} 等于 aa 并且 XOR\text{XOR} 等于 bb 的最短数组的长度。我们可以证明这样的数组总是存在的。

样例1

样例输入1

5
1 1
2 1
2 0
1 10000
2 10000

样例输出1

3
2
4
2
3

样例解释

满足 MEX==1\text{MEX}==1 并且 XOR==1\text{XOR}==1 的数组为 [0,2020,2021][0,2020,2021]

满足 MEX==2\text{MEX}==2 并且 XOR==1\text{XOR}==1 的数据为 [0,1][0,1]

限制

时间:1s1s 空间:256M256M

对于 40%40\% 的数据:1a70b71t31≤a≤7;0≤b≤7;1≤t≤3;构造的最短数组,元素最大值不必超过 1515

对于 60%60\% 的数据:1a1050b1051t1001≤a≤10^5;0≤b≤10^5;1≤t≤100

对于 100%100\% 的数据:1a3×1050b3×1051t1041≤a≤3×10^5;0≤b≤3×10^5;1≤t≤10^4

来源

地址:zloj,J2021zloj,J2021
作者:jialiang2509jialiang2509