SET

给你两个集合,计算两个集合的并,即 {A} + {B}

注:{}中不允许出现重复元素,但是不同集合可能存在相同元素。

输入格式

多组(不超过 5组)数据,以 EOF 结尾。

每组输入数据分为三行,第一行有两个数字 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

#include<bits/stdc++.h>
using namespace std;
int main(){
set<int> s;
int n,m;
while(cin>>n>>m){
    for(int i=0;i<n+m;i++){
        int t;
        cin>>t;
        s.insert(t);
    }
    cout<<*s.begin();
    s.erase(s.begin());
    for(set<int>::iterator it = s.begin();it!=s.end();++it){
        cout<<" "<<(*it);
    }
    cout<<endl;
    s.clear();
}
return 0;
}
原文地址:https://www.cnblogs.com/upstart/p/6774610.html