题解 | 小红的不动点分配
小红的不动点分配
https://www.nowcoder.com/practice/9af88720190248d5a8dc3cebdf050b21?channelPut=tracker3
#include <bits/stdc++.h>//我们知道一个数字只能分配到一个数组里面,由于两组内部的顺序均可任意重排,所以我们只要关心这个数字的出现次数,如果大于等于二我就能产生2个不动点,如果等于1只能产生一个
using namespace std;
int main()
{
int n;
cin>>n;
vector<long long>a(2e5+5);
int res = n*2;
int x;
while(res--){
cin>>x;
a[x]++;
}
int cnt = 0;
for(int i = 1;i<=n;i++){
if(a[i]==1)cnt++;
if(a[i]>=2)cnt+=2;
}
cout<<cnt;
return 0;
}


