题目

题意:给定两个集合,求 差/并 的结果 

#include<iostream>
#include<set>
using namespace std;
int main() {
	int n;
	cin>>n;
	set<int> ans[n];
	for(int i=0; i<n; ++i) {
		int m;
		cin>>m;
		for(int j=0; j<m; ++j) {
			int c;
			cin>>c;
			ans[i].insert(c);
		}
	}
	int k;
	cin>>k;
	for(int j=0; j<k; ++j) {
		int a,b;
		cin>>a>>b;
		set<int> temp(ans[a-1].begin(),ans[a-1].end());
		for(auto i : ans[b-1])
			temp.insert(i);
//集合运算:差/并%
		printf("%.1lf%%\n",(ans[a-1].size()+ans[b-1].size()-temp.size())*100./(temp.size()));
	}
	return 0;
}