AOJ1124 When Can We Meet?

問題リンク When Can We Meet?

  • 概要

N人のメンバーがいる。N人は会議に出席できる日にちを申告している。
会議はQ人以上いないと成立しない。Q人以上出席し、最も人数の集まる日を答えよ。そのような日が複数ある場合は日が近いものを答えよ。Q人以上集まれない場合は0とせよ。
N < 50
Q <= N
1<= 日にち < 100

  • 解法

各日にちについて、集まれる人数をカウントアップしていくだけです。

  • ソース
import java.util.Scanner;

//When Can We Meet?
public class AOJ1124 {

	void run(){
		Scanner sc = new Scanner(System.in);
		for(;;){
			int n = sc.nextInt();
			int q = sc.nextInt();
			if((n|q)==0)break;
			int[] c = new int[101];
			while(n--!=0){
				int m = sc.nextInt();
				while(m--!=0)c[sc.nextInt()]++;
			}
			int a = 0;
			for(int i=1;i<=100;i++){
				if(c[i]<q)continue;
				if(c[a]<c[i])a=i;
			}
			System.out.println(a);
		}
	}
	
	public static void main(String[] args) {
		new AOJ1124().run();
	}
}