题解
【基础】集合运算
1 条题解
-
0
#include <iostream> #include <set> #include <vector> using namespace std; void printSet(const set<int>& s) { bool first = true; for (int num : s) { if (!first) { cout << " "; } cout << num; first = false; } cout << endl; } int main() { int n, m; set<int> A, B; cin >> n; for (int i = 0; i < n; ++i) { int num; cin >> num; A.insert(num); } cin >> m; for (int i = 0; i < m; ++i) { int num; cin >> num; B.insert(num); } set<int> intersection; for (int num : A) { if (B.find(num) != B.end()) { intersection.insert(num); } } set<int> union_set(A); for (int num : B) { union_set.insert(num); } set<int> complement; for (int num : A) { if (B.find(num) == B.end()) { complement.insert(num); } } printSet(intersection); printSet(union_set); printSet(complement); return 0; }
- 1