题意:给定两个集合,求 差/并 的结果
#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;
}