1. 程式人生 > 實用技巧 >7-76 PAT考試日期 (5分)

7-76 PAT考試日期 (5分)

7-76 PAT考試日期 (5分)

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;
scanf("%d %d",&n,&q);
int date[101]={0};
int i,j,k,d;
for(i=0;i<n;i++)
{
scanf("%d",&k);
for(j=0;j<k;j++)
{
scanf("%d",&d);
date[d]++;
}
}
for(i=1;i<101;i++)
{
if(date[i]>=q)
{
printf("%d\n",i);
return 0;

}

}

printf("0\n");

return 0;
}