#include<iostream>
#include<vector>
#include<set>
using namespace std;
int GetNum(vector<int>& vec)
{
int dsize = vec.size();
for(int i = 0;i<dsize;i++)
{
if(vec[i] < 0)
{
vec[i] = 0 - vec[i];//abs(vec[i]);
}
}
set<int> save;
set<int>::iterator iter;
int num = 0;
for(int i = 0;i<dsize;i++)
{
if (save.find(vec[i]) == save.end())//vec[i]第一次出现
{
save.insert(vec[i]);
}
else
{
iter = save.find(vec[i]);
save.erase(iter);
num++;
}
}
return num;
}
int main()
{
vector<int> vec;
int num;
while (cin >> num)
{
vec.push_back(num);
if (cin.get() == '\n')
{
break;
}
}
cout<<GetNum(vec)<<endl;
return 0;
}
这个算有去重吧,考虑到-1 1 -1 1 -1 1 这样3对儿的情况