我在这里为了查询方便用到了map,
看到其他同学有用数组来映射一个人有没有对象的,更快捷
#include <iostream>
#include <map>
#include <set>
#include <algorithm>
using namespace std;
int main(){
int N,half,num,dog,husband,wife;
map<int,int> couple;
set<int> party,singleDog;
cin>>N;
for(int i=0;i<N;i++){
cin>>husband>>wife;
couple[husband]=wife;
couple[wife]=husband;
}
cin>>num;
for(int i=0;i<num;i++){
cin>>dog;
party.insert(dog);
}
set<int>::iterator it;
for(it=party.begin();it!=party.end();it++){
dog=*it;
if(couple.count(dog)==0){
singleDog.insert(dog);
}else{
half=couple[dog];
if(party.count(half)==0){
singleDog.insert(dog);
}
}
}
cout<<singleDog.size()<<endl;
for(it=singleDog.begin();it!=singleDog.end();it++){
if(it!=singleDog.begin()){
cout<<" ";
}
printf("%05d",*it);
}
return 0;
}