#57579. 参考答案
参考答案
暂无测试数据。
蒜头君最近在学习异或运算,现在他学习异或运算遇到了瓶颈,所以他去找花椰妹一块儿探讨异或问题。
花椰妹对异或运算理解的非常透彻,花椰妹为了加深蒜头君对异或运算的理解,决定提出 $Q$ 个问题让蒜头君解决。
问题是这样的:花椰妹给出两个正整数 $x,n$,问蒜头君能不能在 $0\sim n$ 内找到两个数,使他们的异或值为 $x$。
花椰妹虽然提出了 $Q$ 个问题,但是她并没有答案,请你帮花椰妹计算出每个问题的答案。
异或($xor$)是在两个整数的二进制对应位上进行运算,运算规则如下:
- $0 \ xor \ 0 = 0$
- $0 \ xor \ 1 = 1$
- $1 \ xor \ 0 = 1$
- $1 \ xor \ 1 = 0$
在 C++
语言中,异或是由 ^
符号表示,例如:ans = 3 ^ 8;
则 ans = 11
。
输入格式
第一行一个整数 $Q$,表示花椰妹共提出了 $Q$ 个问题。
下面 $Q$ 行,第 $i$ 行有两个正整数 $x,n$ 表示花椰妹的第 $i$ 个问题。
输出格式
输出 $Q$ 行,第 $i$ 行有一个字符,Y
表示第 $i$ 个问题可以找到两个合法的数,N
表示第 $i$ 个问题不能找到两个合法的数。
数据范围
- 对于 $20\%$ 的数据,有 $1\leq Q,x,n\leq 2\times 10^3$。
- 对于 $40\%$ 的数据,有 $1\leq Q\leq 10$。
- 对于 $100\%$ 的数据,有 $1\leq Q\leq 10^5,1\leq x,n\leq 10^9$。
2
1 3
3 1
Y
N
3
2 4
5 4
6 3
Y
Y
N