模拟水题。思路如下:
由于每个参会员的空闲日期是没有重复的且均在1——100之间,故可以在日期上设定一个参数num,表示在该日期有空的参会员的个数,然后比较求出最大值,同时注意在相同时,要取日期较小的。另外就是要比较最大的参会员个数是否大于等于规定的参会员个数。
下面是代码:156K+16MS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Max 110
int num[Max];
int n,m;
int max_int,index;
int main(){
while(scanf("%d%d",&n,&m),n){
memset(num,0,sizeof(num));
max_int=0;
for(int i=1;i<=n;i++){
int number,data;
scanf("%d",&number);
for(int j=1;j<=number;j++){
scanf("%d",&data);
num[data]++;
if(num[data]>max_int){
max_int=num[data];
index=data;
}
else if(num[data]==max_int && index>data)
index=data;
}
}
if(max_int<m)
printf("0\n");
else
printf("%d\n",index);
}
return 0;
}