# C++求set的交集和并集

Python中求集合的交集并集是十分方便了，但在C++中还是有困难的。

set里面有set_intersection（取集合交集）、set_union（取集合并集）、set_difference（取集合差集）、set_symmetric_difference（取集合对称差集）等函数。共有5个参数，前4个参数一样分别是集合a.begin(),end和b.begin,end。

• 保存到set或vector: 将集合A、B取合集后的结果存入集合C中

• 输出: 将A、B取合集后的结果直接输出，（cout,” “）双引号里面是输出你想用来间隔集合元素的符号或是空格。

#include<bits/stdc++.h>

## 例题 PAT 甲 1063 Set Similarity （25 分）

Given two sets of integers, the similarity of the sets is defined to be , where  is the number of distinct common numbers shared by the two sets, and  is the total number of distinct numbers in the two sets. Your job is to calculate the similarity of any given pair of sets.

### Input Specification:

Each input file contains one test case. Each case first gives a positive integer  () which is the total number of sets. Then  lines follow, each gives a set with a positive  () and followed by  integers in the range []. After the input of sets, a positive integer  () is given, followed by  lines of queries. Each query gives a pair of set numbers (the sets are numbered from 1 to ). All the numbers in a line are separated by a space.

### Output Specification:

For each query, print in one line the similarity of the sets, in the percentage form accurate up to 1 decimal place.