#include<cstdio>
#include<set>
#include<vector>
#include<iostream>
using namespace std;
const int maxn=55;
int main(){
int n,k,t,tmp;
cin>>n;
set<int> st[maxn];
for(int i=0;i<n;i++){
cin>>t;
for(int j=0;j<t;j++){
cin>>tmp;
st[i].insert(tmp);
}
}
cin>>k;
int u,v;
for(int j=0;j<k;j++){
int cnt=0;
cin>>u>>v;
u--;v--;
set<int>::iterator it;
for(it=st[u].begin();it!=st[u].end();it++){
if(st[v].find(*it) != st[v].end()) cnt++;
}
printf("%.2f%%\n",cnt*1.0/(st[u].size() + st[v].size() - cnt)*100);
}
return 0;
}
L2-005 集合相似度 (25 分)
最新推荐文章于 2024-09-18 20:34:15 发布