题目:
思路分析:
我们只需要求出二个集合中的不同的个数 和相同的个数就行
但是要排除同一集合中相同元素的干扰 所以我们直接用stl中的set容器
代码实现:
set<int> s[55];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
int m,x;
scanf("%d",&m);
while(m--){
scanf("%d",&x);
s[i].insert(x);
}
}
int k,a,b;
scanf("%d",&k);
while(k--){
scanf("%d%d",&a,&b);
int cnta=s[a].size(),cntb=s[b].size(),cnt=0;
for(auto it:s[a]){
if(s[b].find(it)!=s[b].end()){
cnt++;
}
}
printf("%.2lf%\n",cnt*1.0/(cnta+cntb-cnt)*100);
}
return 0;
}