给你两个集合,计算其并集,即 { A } + { B } \{A\} + \{B\} {A}+{B}。
注: { A } + { B } \{A\} + \{B\} {A}+{B} 中不允许出现重复元素,但是 { A } \{A\} {A} 与 { B } \{B\} {B} 之间可能存在相同元素。
输入格式
输入数据分为三行,第一行有两个数字 n , m ( 0 < n , m ≤ 10000 ) n, m(0 < n,m\leq 10000) n,m(0<n,m≤10000),分别表示集合 A 和集合 B 的元素个数。
后两行分别表示集合 A 和集合 B。
每个元素为不超出 int 范围的整数,每个元素之间用一个空格隔开。
输出格式
输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间用一个空格隔开。
样例输入
1 2
1
2 3
样例输出
1 2 3
样例输入
1 2
1
1 2
样例输出
1 2
解:
insert为集合的插入操作。
size返回集合的大小。
代码:
#include"iostream"
#include"set"
using namespace std;
int main()
{
int n,m,temp;
set<int>a;
cin>>n>>m;
for(int i=0;i<n+m;i++)
{
cin>>temp;
a.insert(temp);
}
int flag=0;
for(set<int>::iterator it=a.begin();it!=a.end();flag++,it++)
if(flag!=a.size()-1)cout<<*it<<" ";
else cout<<*it;
return 0;
}