直接散列,注意出现次数相同时,输出数值大的。
#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;
}