题目描述
给出四个非负整数 l,r,k,x。你需要找到任意一个整数 n 满足 l≤n≤r 且 i=k⨁ni=x。其中,i=k⨁ni 表示 k∼n 中所有整数的二进制按位异或和。
如有多解,求出任何一个均可。如果无解,请指出。
输入格式
本题有多组测试数据。
第一行,一个正整数 T,表示数据组数。接下来,对于每组数据:
- 仅一行,四个非负整数 l,r,k,x。
输出格式
对于每组数据:
- 仅一行,一个整数,为你求出的 n;或当无解时输出 −1。
本题使用自定义校验器检验你的输出是否正确,故有解时你只需要求出任意一个满足条件的 n。
提示
【样例解释】
对于第一组数据,取 n=6,则 1⊕2⊕⋯⊕6=7,符合题意。可以证明,这是在 [1,10] 范围内唯一合法的解。
对于第二组数据,容易验证 n=19 是一组合法的解。此外,在 [16,30] 区间内,n=23 和 n=27 也合法,所以输出它们也正确。
【数据范围】
测试点编号 |
T≤ |
r≤ |
特殊性质 |
1∼4 |
5000 |
|
5∼8 |
105 |
109 |
AB |
9∼14 |
A |
15∼20 |
|
- 特殊性质 A:保证 k 为偶数。
- 特殊性质 B:保证 x≤1。
对于 100% 的数据,保证 1≤T≤105,1≤k≤l≤r≤109,0≤x≤2×109。