计蒜客T1526计算并集
题目直通车
题目
给你两个集合,要求 {A} + {B}。
注:同一个集合中不会有两个相同的元素。
输入
每组输入数据分为三行,第一行有两个数字 n,m(0<n,m≤10000),分别表示集合 A 和集合 B 的元素个数。后两行分别表示集合 A 和集合 B。每个元素为不超出int范围的整数,每个元素之间有一个空格隔开。
输出
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开。
样例输入1:
1 2
1
2 3
样例输出1:
1 2 3
样例输入2:
1 2
1
1 2
样例输出2:
1 2
代码1(Python):
m, n = map(int, input().split())
p = []
b = list(map(int, input().split()))
p.extend(b)
b = list(map(int, input().split()))
p.extend(b)
p = set(p)
p = sorted(p)
le = len(p)
for i in range(0, le):
print(p[i], end=' ')
代码2(C++):
#include <iostream>
#include <set>
using namespace std;
int main()
{
int n, m;
set<int> s;
cin >> n >> m;
int temp;
for (int i = 0; i < n + m; i++)
{
cin >> temp;
s.insert(temp);
}
set<int>::iterator it = s.begin();
cout << *it;
for (it++; it != s.end(); it++)
{
cout << " " << *it;
}
}