1.题目介绍
nikename:绰号
bigamous:重婚的
dangling:摇摆的
2.考察点,难度
散列类,Map容器插入方法,Set容器的运用,难度易
3.解题代码
#include <iostream>
#include <set>
#include <unordered_map>
using namespace std;
int main(){
int N,M,a,b;
unordered_map<int,int> m;
set<int> s,real;
set<int>::iterator iter;
cin>>N;
for(int i=0;i<N;i++){
cin>>a>>b;
m.insert({a,b});
m.insert({b,a});
}
cin>>M;
for(int i=0;i<M;i++){
cin>>a;
real.insert(a);
}
for(iter=real.begin();iter!=real.end();iter++){
if(m.find(*iter)==m.end()){
s.insert(*iter);
}
else{
if(real.find(m[*iter])==real.end()){
s.insert(*iter);
}
}
}
cout<<s.size()<<endl;
for(iter=s.begin();iter!=s.end();iter++){
iter==s.begin()?printf("%05d",*iter):printf(" %05d",*iter);
}
return 0;
}
4.原题地址
https://pintia.cn/problem-sets/994805342720868352/problems/994805352359378944