#include<iostream>
#include<set>
using namespace std;
set<int>S[51];
set<int>::iterator it1,it2;
int main()
{
int N,i,j,k;
cin>>N;
for(i=1;i<=N;i++){
scanf("%d",&j);
while(j--){
scanf("%d",&k);
S[i].insert(k);
}
}
int K;
cin>>K;
while(K--){
scanf("%d %d",&i,&j);
int Nc=0;
for(it1=S[i].begin(),it2=S[j].begin();it1!=S[i].end()&&it2!=S[j].end();){
if(*it1<*it2){
++it1;
}
else if(*it1>*it2){
++it2;
}
else{
++Nc;
++it1;
++it2;
}
}
int Nt=S[i].size()+S[j].size()-Nc;
printf("%.1f%c\n",100.0*Nc/Nt,'%');
}
}
//Nc common
//Nt total
1063 Set Similarity
最新推荐文章于 2025-06-09 09:40:53 发布