首页 > 技术文章 > 7-76 PAT考试日期 (5分)

bigageyuan 2020-10-21 17:15 原文

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;
}
 

推荐阅读