importjava.util.ArrayList;importjava.util.HashSet;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[] args){Scanner sc =newScanner(System.in);int n = sc.nextInt();//一维放的集合,二维放的集合里面元素ArrayList<HashSet<Integer>> list =newArrayList<>();for(int i =0; i < n; i++){int m = sc.nextInt();
list.add(newHashSet<>());for(int j =0; j < m; j++){
list.get(i).add(sc.nextInt());}}int k = sc.nextInt();for(int i =0; i < k; i++){//将其中一个集合的所有元素放进一个set,然后把另一个集合的元素也加在set里,统计加不进去的次数,就是两个集合的共有的不同元素HashSet<Integer> temp =newHashSet<>();HashSet<Integer> all =newHashSet<>();//两个集合一共有的不相等整数的元素int common =0;int x = sc.nextInt();int y = sc.nextInt();for(Object o : list.get(x -1)){//遍历第x个集合
all.add((Integer) o);
temp.add((Integer) o);}for(Object o : list.get(y -1)){//遍历第y个集合
all.add((Integer) o);if(temp.add((Integer) o)==false){//说明这个元素没加进去,是共有元素
common++;}}System.out.printf("%.2f%%\n",100.0* common / all.size());}}}