【题目描述】给定两个集合,要求{A}+{B}
注:同一个集合中不会有两个相同的元素。
【输入】
多组(不超过5组)数据。
每组输入数据分为三行,第一行又两个数字n,m(0<n,m<10000),分别表示集合A和集合B的元素个数。后两行分别表诉集合A和集合B。每个元素为不超出int范围的整数,每个元素之间有一个空格隔开。
【输出】
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开。
【样例输入】
1 2
1
2 3
1 2
1
1 2
【样例输出】
1 2 3
1 2
【备注】题目来源京东2017秋招
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, m;
while(cin >> n >> m) {
set<int> s;
for(int i = 0; i < n; i ++){
int x;
cin >> x;
s.insert(x);
}
for(int i = 0; i < m; i ++) {
int x;
cin >> x;
s.insert(x);
}
for(set<int>::iterator it=s.begin(); it != s.end(); it++) {
if(it == s.begin())
cout<< *it;
else
cout<< " " << *it;
}
}
return 0;
}