MPART - Group Partition

no tags 




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 (1<=N<=1000,M<=500).

Tên người chỉ gồm kí tự chữ cái và có độ dài <=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.

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 

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 output
2
2

hide comments
smso: 2024-12-11 08:14:27

Names are useless and space at the end of lines are pain in the a?? that eat up most of the time in solving this problem!


Added by:psetter
Date:2009-02-22
Time limit:1s-6.752s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:Shanghai 2004