AcWing 1614. 单身狗
原题链接
简单
作者:
王小强
,
2021-03-19 18:19:59
,
所有人可见
,
阅读 443
HashTable Again!
#include <iostream>
#include <vector>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
using namespace std;
int n, m, u, v;
int main(int argc, char** argv) {
cin >> n;
unordered_map<int, int> mp;
while (n--) {
cin >> u >> v;
mp[u] = v;
mp[v] = u;
}
cin >> m;
vector<int> ids(m);
for (int i = 0; i < m; ++i) cin >> ids[i];
unordered_set<int> s(begin(ids), end(ids));
vector<int> ans;
for (const int id : ids)
if (!mp.count(id) || !s.count(mp.at(id)))
ans.emplace_back(id); // 没有女朋友或没来参加大型派对
sort(begin(ans), end(ans));
printf("%d\n", ans.size());
for (int i = 0; i < ans.size(); ++i) {
printf("%05d", ans[i]);
if (i < ans.size() - 1) putchar(' ');
}
return 0;
}