MPART - Group Partition

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

Được gửi lên bởi:~!(*(@*!@^&
Ngày:2009-02-22
Thời gian chạy:0.150s-6.752s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:Shanghai 2004

hide comments
2015-09-19 08:45:21 Nguyễn Việt Thắng
làm luồng bình thường vẫn AC đc.
2009-03-19 23:33:41 ~!(*(@*!@^&
Rejudge lai cho RR: test 1 - WA (score=0.000000, sig=0, time=100.160000, mem=32896)
2009-03-19 23:33:26 ~!(*(@*!@^&
Muon AC bang luong <5s thi phai cai Dinic algorithm.

Last edit: 2009-03-19 23:33:26
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.