这道题是一道简单的不能再简单的题(虽然说我一开始看错题了),是一道数学题,代码简单,思想简单。先算出一共有多少对相同的,然后因为有两对才能配成一对,所以把对数和加起来后还要除以2才是最后的答案
#include<iostream>
using namespace std;
unsigned long long f[100001];
int main(){
unsigned long long a,n,m,ans=0;
cin>>n;
//f[0]=1;
while(n--){
cin>>a;
f[a]++;
}
for(int i=1;i<=100;i++)f[i]/=2;//求有多少对相同的
for(int i=1;i<=100;i++)ans+=f[i];//求一共有多少对
cout<<ans/2;
}