PAT(编程能力测试)考试一年三次,分别在春、秋和冬季举行。考试需要现场机房场地和工作人员的辛苦工作,所以要计划考试的日期非常困难。因为除了要考虑学校开学、考试等时间,还要考虑负责老师的时间。由于各校的负责老师都非常非常忙,他们不但担任考试的组织工作,而且还有常规的教学工作,有的还担任学校的行政职务。为了让更多的考场能举办考试,日期的选择非常关键。因此陈老师让他们每个人交一份可能的时间表。陈老师请你通过他们提供的空闲时间表来确定考试的日期。自然是能举办考试的考场越多越好,请你确定某一天考试。如果能举办考试的考场数相同的话,考试越早开考越好。当然如果这次考试能开的考场小于组委会设定的最少考场数,考试就只能取消了。
输入格式:
第一行为两个正整数N、Q(1<=Q<=N<=100),其中N表示考场的总数,Q表示这次考试至少需要多少考场举办。
以下N行,每行第一个数表示一个考场可能的日子的数量K,其后K个数,每个数表示这个考场可能办考试的日子(1<=日子<=100) 。
输出格式:
输出最早在那一天考试,如果考试无法举行,输出0。
输入样例:
3 3
4 1 5 8 9
3 2 5 9
5 2 4 5 7 9
输出样例:
5
我的代码:
/**帽***/
#include <stdio.h>
int main(){
int n,q,i,j,k,cnt;
scanf("%d%d",&n,&q);
int a[n][101];
for(i=0;i<n;i++){
for(j=0;j<101;j++)
a[i][j]=0;
}
for(i=0;i<n;i++){
scanf("%d",&cnt);
for(j=0;j<cnt;j++){
scanf("%d",&k);
a[i][k]++;
}
}
for(i=1;i<101;i++){
int able=0;
for(j=0;j<n;j++){
if(a[j][i]) able++;
}
if(able>=q){
printf("%d",i);
return 0;
}
}
printf("0");
return 0;
}