#P5383. 加密
加密
Description
实验室里有 $n$ 组实验数据,每组数据都有一个独特的加密值 $a_i$。教授发现当两组数据的加密值进行异或运算后结果恰好等于 $K$ 时,$a_i \oplus a_j = K$,这两组数据就能解锁一个新的实验成果。 现在教授想知道有多少对实验数据可以产生这种特殊的验证结果,即满足 $a_i \oplus a_j = K$ 的数据对数。Input Format
- 第一行包含两个整数 $n$ 和 $K$
- 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$
Output Format
输出一个整数,表示符合条件的实验数据对数。5 3
1 2 2 4 52
Hint
- 对于 50% 数据:$1 \leq n \leq 2000$
- 对于 20% 数据:$1 \leq a_i \leq 100000$
- 对于 100% 数据:$1 \leq n \leq 1000000$, $0 \leq a_i, K \leq 2^{30}$