题目描述
分析:
set集合的一个应用
#include<cstdio>
#include<set>
using namespace std;
set<int> s[55];
int main(){
int n,k,x,y;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&k);
for(int j=0;j<k;j++){
scanf("%d",&x);
s[i].insert(x);
}
}
scanf("%d",&k);
while(k--){
scanf("%d %d",&x,&y);
int total=s[y].size(),same=0;
for(set<int>::iterator it=s[x].begin();it!=s[x].end();it++){
if(s[y].count(*it)!=0)
//if(s[y].find(*it)!=s[y].end())
same++;
else
total++;
}
printf("%.1f%\n",same*100.0/total);
}
}