直接散列,注意出现次数相同时,输出数值大的。

#include<bits/stdc++.h>
int arr[1005]={0};
int main(){
	int n,m,num;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d",&m);
		for(int i=0;i<m;i++){
			scanf("%d",&num);
			arr[num]++;
		}
	}
	int Max=0;
	for(int i=0;i<=1000;i++){
		if(arr[i]>=arr[Max]) Max=i;
	}
	printf("%d %d",Max,arr[Max]);
	return 0;
}