思路:思维
首先计算每个数的个数 cnt。
single[i] 为每个模 m 的数为 i 的数中,数量为奇数的个数
all[i] 为每个模 m 的数的偶数部分的数的个数。
然后先拿 single[i] 和 single[m−i] 匹配。\
P1479.第3题-小红的配对数
题目内容
小红有 n 个数,第 i 个数为 xi ,他想将这些数两两配对。
现在小红给定了两个数配对的条件:
- 两个数相同,可以配对
- 两个数的和为 m 的倍数,也可以配对
满足上面两个条件之一,即可配对。
现在小红问你,他可以最多配对出多少个数对。
输入描述
第一行,一个整数 T(1≤T≤10) ,表示数据组数。
接下来每组数据,
第一行,两个整数 n(2≤n≤105) 和 m(1≤m≤105) 。
第二行,n 个整数 xi(1≤xi≤105) 。
输出描述
一个整数,表示小红可以配对的最大对数。
样例
输入
1
9 8
9 9 8 2 4 4 3 5 3
输出
3
说明
9 和 9 配对
4 和 4 配对
3 和 5 配对