实在郁闷。无奈。
搜了个大水题来做。
这题实在水,能看得懂题意的都能做了吧。
#include<iostream> using namespace std; const int N=55; int n,m; int Hash[101]; int main() { freopen("C:\\Users\\wuyanyisb\\Desktop\\1.txt","r",stdin); while(scanf("%d%d",&n,&m),n!=0||m!=0) { memset(Hash,0,sizeof(Hash)); int tmp1,tmp2; for(int i=1;i<=n;i++) { scanf("%d",&tmp1); for(int j=1;j<=tmp1;j++) { scanf("%d",&tmp2); Hash[tmp2]++; } } int max=0; int ans=0; for(int i=1;i<=100;i++) { if(max<Hash[i]) { max=Hash[i]; ans=i; } } if(max>=m) printf("%d\n",ans); else printf("0\n"); } return 0; }