#include <stdio.h>
#include <set>
#include <algorithm>
#include <iostream>
using namespace std;
const int si=51;
set<int> st[si];
int main()
{
int N,K,M;
cin>>N;
for(int i=1;i<=N;i++)
{
cin>>M;
int x;
for(int j=0;j<M;j++)
{
cin>>x;
st[i].insert(x);
}
}
cin>>K;
for(int i=0;i<K;i++)
{
set <int> U,I;
int a,b;
cin>>a>>b;
set_union(st[a].begin(),st[a].end(),st[b].begin(),st[b].end(),inserter(U,U.begin()));
set_intersection(st[a].begin(),st[a].end(),st[b].begin(),st[b].end(),inserter(I,I.begin()));
printf("%.2f%%\n",I.size()*100.0/U.size());
}
}
来源:https://www.cnblogs.com/Andre/p/12364118.html