该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小 Z 有一个数列 a1,a2,…,an。有一天, 小 Y 拿来了一个正整数 X。小 Z 是一个特别喜欢异或 (xor) 运算的孩子,他也很喜欢小 Y。
于是,小 Z 就想知道,自己能找到多少对数 (i,j) 能够满足 ai xor aj = X。
- 两个数对 (i1,j1) 与 (i2,j2) 不同,当且仅当i1=i2 或者 j1=j2。
提示:异或运算在 C++ 里的运算符是 ^。
输入格式
第一行两个正整数 n,X,分别表示数列的长度以及小 Y 带来的整数。
第二行包含 n 个正整数,表示数列 a1,a2,…,an。
输出格式
一行一个整数表示答案。
样例 #1
样例输入 #1
5 1
1 4 2 2 5
样例输出 #1
2
提示
【样例解释】
因为 4 xor 5=1,所以这两个数对是 (2,5) 和 (5,2)。
【数据范围】
对于 50% 的数据, 1≤n≤2000。
对于接下来 20% 的数据,1≤ai≤100000。
对于 100% 的数据,1≤n≤1000000,1≤ai≤230,1≤X≤230。