https://pintia.cn/problem-sets/994805260223102976/problems/994805266942377984
不难不难。
#include<iostream>
using namespace std;
int main() {
int n, m, k=0, pair1, pair2, people;
int pair[100000], present[100000]={0}, single[100000]={0};
for(int i=0; i<100000; i++){
pair[i] = -1;
}
cin >> n;
for(int i=0; i<n; i++){
cin >> pair1 >> pair2;
pair[pair1] = pair2;
pair[pair2] = pair1;
}
cin >> m;
for(int i=0; i<m; i++){
cin >> people;
present[people] = 1;
}
for(int i=0; i<100000; i++){
if(present[i] != 1)
continue;
// 到场的人没有伴侣,或者有伴侣但是没来
if(pair[i] == -1 || (pair[i] != -1 && present[pair[i]] != 1)){
single[k++] = i;
}
}
cout << k << endl;
for(int i=0; i<k; i++){
printf("%05d", single[i]);
if(i<k-1)
cout << " ";
}
return 0;
}