思路
給N對(duì)夫妻編號(hào),再給M個(gè)派對(duì)里的參與人的編號(hào),輸出單身的人的編號(hào)(包括夫妻沒(méi)全部到場(chǎng)的也算單身)
代碼
#include <bits/stdc++.h>
using namespace std;
unordered_map<int, int> couple;
int n, p;
vector<int> las;
int flag[100002];
vector<int> ans;
int main() {
cin>>n;
for (int i = 0; i < 2 * n; i++) {
int num;
cin>>num;
couple[num] = i / 2 + 1;
}
cin>>p;
for (int i = 0; i < p; i++) {
int peo;
cin>>peo;
if (couple.find(peo) == couple.end()) {
ans.push_back(peo);
} else {
las.push_back(peo);
int n = couple[peo];
flag[n]++;
}
}
int t = las.size();
for (int i = 0; i < t; i++) {
int now = couple[las[i]];
if (flag[now] == 1)
ans.push_back(las[i]);
}
sort(ans.begin(), ans.end());
int s = ans.size();
cout<<s<<endl;
for (int i = 0; i < s; i++) {
printf("%05d", ans[i]);
if (i != s - 1) cout<<" ";
else cout<<endl;
}
}