吐槽两句,这题目看的人都晕了,理解能力真的逆天!
实际上就是去重、排序,遍历R。

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            String[] r = new String[n];
            for (int i=0;i<n;i++){
                r[i] = sc.next();
            }
            int m = sc.nextInt();
            Set<Integer> si = new TreeSet();
            for(int i=0;i<m;i++){
                si.add(sc.nextInt());
            }
            List<Integer> al =  new ArrayList();
            List<Integer> rt = new ArrayList();
            for(int numi : si){
                int count = 0;
                for(int i=0;i<r.length;i++){
                    if(r[i].contains(String.valueOf(numi))){
                        count++;
                        al.add(i);
                        al.add(Integer.valueOf(r[i]));
                    }
                }
                if(count>0){
                    rt.add(numi);
                    rt.add(count);
                    rt.addAll(al);             
                }
                al.clear();
            }
            System.out.print(rt.size()+" ");
            for(Integer i:rt){
                System.out.print(i+" ");
            }
            System.out.println();
        }
    }
}