POJ 2028 When can we meet?

//11168440	c00h00g	2028	Accepted	396K	32MS	G++	824B	2013-01-10 15:55:32
//首先统计每个日期出现的次数,然后枚举出现的次数最大为n最小为q,如果找到break输出 
//奇怪:改成=105就不行了 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int date[105];

int n,q;
int main(){
    while(scanf("%d%d",&n,&q)!=EOF){
        if(n==0&&q==0)
            break;
        memset(date,0,sizeof(date));
        int i,j,m,num;
        for(i=0;i<n;i++){
            scanf("%d",&m);
            for(j=0;j<m;j++){
                scanf("%d",&num);
                date[num]++;
            }
        }
        //查找结果
        int res=0;
        bool flag=false;
        for(i=n;i>=q;i--){
            for(j=1;j<105;j++){
                if(date[j]==i){
                    flag=true;
                    res=j;
                    break;
                }
            }
            if(flag)
                break;
        }
        printf("%d\n",res);
        
    }
    return 0;
} 

你可能感兴趣的:(POJ 2028 When can we meet?)