Chia nhóm

View as PDF

Submit solution

Points: 1.04 (partial)
Time limit: 10.2s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
Shanghai 2004
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Phân người vào các nhóm sao cho nhóm có nhiều người nhất có số lượng người ít nhất có thể.

Input

Có không quá ~20~ test. Dòng đầu mỗi test là hai số ~N,M~: ~N~ số người, ~M~ số nhóm.

~N~ dòng tiếp theo, đầu tiên là tên người, sau đó là danh sách các nhóm mà người đó có thể được phân vào ~\left(1 \leq N \leq 1000;\text{ } M \leq 500\right)~.

Tên người chỉ gồm kí tự chữ cái và có độ dài không quá ~15~ , không có ~2~ người trùng tên. Mã nhóm đánh số từ ~0~ cho đến ~M-1~.

Kết thúc test là hai số ~0~ ~0~.

Output

Hiện ra số người của nhóm mà nhiều người nhất mà thỏa mãn điều kiện trên.

Sample Input

3 2 
John 0 1 
Rose 1 
Mary 1 
5 4 
ACM 1 2 3 
ICPC 0 1  
Asian 0 2 3 
Regional 1 2 
ShangHai 0 2 
0 0

Sample Output

2
2

Comments

Please read the guidelines before commenting.


There are no comments at the moment.