题目描述 给定一个长度为 n n 的非负整数序列 a 1 , a 2 , … , a n a 1 ,a 2 ,…,a n ,统计有多少对 ( i , j ) (i,j) 满足 1 ≤ i ≤ j ≤ n 1≤i≤j≤n 并且 a i ⊕ a j a i ⊕a j 在十进制表示下是回文的,其中 ⊕ ⊕ 表示按位异或操作。
22 13⊕27=22,由于 22 22 从左到右读和从右到左读得到的字符串相同,因此 22 22 是一个回文数。
输入格式 第一行一个整数 T T 表示数据组数。对于每组数据:
第一行一个整数 n n。
第二行 n n 个非负整数 a 1 ∼ n a 1∼n 。
输出格式 对于每组数据,输出一行一个整数表示答案。
数据范围 对于 30 % 30% 的数据, 1 ≤ ∑ n ≤ 1000 1≤∑n≤1000, 0 ≤ a i < 2 10 0≤a i <2 10 。
对于 60 % 60% 的数据, 1 ≤ ∑ n ≤ 2 × 1 0 5 1≤∑n≤2×10 5 , 0 ≤ a i < 2 10 0≤a i <2 10 。
对于 100 % 100% 的数据, 1 ≤ T ≤ 100 1≤T≤100, 1 ≤ n ≤ 1 0 5 1≤n≤10 5 , 1 ≤ ∑ n ≤ 2 × 1 0 5 1≤∑n≤2×10 5 , 0 ≤ a i < 2 15 0≤a i <2 15 。
样例数据 输入: 2 4 13 27 12 26 3 2 2 2 输出: 8 6 说明: 在第一组数据中,13 xor 13 = 0, 13 xor 27 = 22, 13 xor 12 = 1, 27 xor 27 = 0, 27 xor 26 = 0, 12 xor 12 = 0, 12 xor 26 = 22, 26 xor 26 = 0,共 8 对符合题意的 (i, j)。 在第二组数据中,任意的 1 <= i <= j <= n 都是符合题意的,共 6 对。